Repository navigation
chore: upgrade dependencies and add Python 3.15 - #676
Merged
Merged
Conversation
Refresh uv.lock with uv lock --upgrade, raise the dev floors that fell behind the locked versions, and bump the ruff pre-commit hook and the setup-uv action. Supersedes #670. Signed-off-by: Fernando Macedo <fgmacedo@gmail.com>
Add 3.15 to the CI matrix and the classifiers, and move the lint, coverage upload, release build and mypy target from 3.14 to 3.15. The Read the Docs build stays on 3.14, the latest it offers. Signed-off-by: Fernando Macedo <fgmacedo@gmail.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #676 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 53 53
Lines 5787 5787
Branches 918 918
=========================================
Hits 5787 5787
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Signed-off-by: Fernando Macedo <fgmacedo@gmail.com>
|
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.



Why
Python 3.15.0 is out (
actions/python-versions3.15.0 published 2026-10-10,python-build-standalone20261009), and CI stops at 3.14. The last dependency refresh was #659;uv lock --upgradenow moves 26 packages.Closes #670.
What changes
requires-pythonstays>=3.10.python_versionmove from 3.14 to 3.15: ruff, coverage, codecov-action, hatchling, mypy (cp315 wheel,--python-version 3.15) and pyright all run clean on 3.15. Read the Docs stays on 3.14, the newestbuild.tools.pythonit offers.-X dev -W error::DeprecationWarning.pydot,PyYAML,jsonschema) are untouched, so the release notes only state the supported range.>=3.12, 5.2 LTS covers 3.10/3.11. Neither declares 3.15 yet; 6.1.2 passes the Django tests on 3.15.Upgraded packages (
uv lock --upgrade, direct dependencies in bold):Dev floors raised to the locked versions: ruff, pytest-mock, both Django entries. Pre-commit: ruff hook v0.16.7 -> v0.16.10. Actions: setup-uv v10.1.0 -> v10.2.0 (cache saves disabled in merge queues, checksum updates); every other action is already on its latest major.
The lock keeps its
exclude-newer-span = "P7D", so releases younger than 7 days are not taken: ruff 0.17.0 (2026-10-09), pre-commit 4.7.0 (2026-10-12) and setup-uv v10.3.0 (2026-10-09) stay for the next refresh.Evidence
Local runs on CPython 3.14.7 and 3.15.0 (python-build-standalone 20261009, checksum verified), each in its own venv:
The independent reviewer also ran
uv sync --locked --all-extras --devandpytest -n 4on 3.10 and 3.11: 2631 passed, 25 skipped, 44 xfailed on both; mypy clean on 3.10.The 25 skips and the 9
RemovedInSphinx11Warningwarnings (sphinx_ext.py:260,env.app) are the same on 3.12, 3.14 and 3.15.Not verified
release.ymlon 3.15 runs only on the next tag.yaml.__with_libyaml__is False). Users of theyaml/ioextras on 3.15 get the same until PyYAML ships a cp315 wheel. Not tried on Linux outside CI.