Skip to content

Drop python 310 support - #333

Merged
seddonym merged 5 commits into
mainfrom
drop-python-310-support
Nov 6, 2026
Merged

seddonym merged 5 commits into
mainfrom
drop-python-310-support

Conversation

@seddonym

@seddonym seddonym commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Drop support for Python 3.10, which is now end-of-life.

While we're at it, add some docs for doing this, and a just modernize-python command to modernize any syntax we no longer need to support.

@seddonym
seddonym force-pushed the drop-python-310-support branch from 365596f to 7cdb175 Compare November 6, 2026 09:46
@seddonym
seddonym requested a balanced review from Copilot November 6, 2026 09:47
@seddonym
seddonym marked this pull request as ready for review November 6, 2026 09:47

Copilot AI left a comment

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.

🟡 Changes recommended

The modernization recipe fails under Ubuntu’s default sh due to unsupported brace expansion, and the interpreter-list guidance risks shadowing regular interpreters and omitting their wheels.

2 open issues
What changed in this PR

Raises Grimp’s minimum supported Python version to 3.11 and adds tooling and contributor guidance for future Python-version changes.

Changes:

  • Removes Python 3.10 from package metadata, test matrices, release builds, and dependency resolution.
  • Updates typing annotations and imports.
  • Adds a modernize-python recipe and documents how to add or drop Python support.
File Description
uv.lock Updates dependency resolution for Python 3.11+ and adds pyupgrade.
tests/​unit/​application/​graph/​test_manipulation.py Imports NotRequired from standard-library typing.
tests/​adaptors/​filesystem.py Simplifies a generator annotation.
src/​grimp/​application/​ports/​timing.py Uses Self for the context-manager return type.
pyproject.toml Raises the Python minimum and adds pyupgrade.
justfile Drops Python 3.10 testing and adds modernization tooling.
CONTRIBUTING.rst Documents Python-version support changes.
CHANGELOG.rst Records removal of Python 3.10 support.
.github/​workflows/​release.yml Removes Python 3.10 from wheel builds.
.github/​workflows/​main.yml Removes Python 3.10 from the test matrix.

Review effort: Balanced

Comment thread justfile Resolved
Comment thread CONTRIBUTING.rst Resolved
@codspeed

codspeed Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 26 untouched benchmarks
⏩ 23 skipped benchmarks1


Comparing drop-python-310-support (a8d1613) with main (39ea1a5)

Open in CodSpeed

Footnotes

  1. 23 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

seddonym and others added 2 commits November 6, 2026 09:57
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Updated Python version requirements in workflow files for compatibility.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@seddonym
seddonym merged commit 2b06674 into main Nov 6, 2026
23 checks passed
@seddonym
seddonym deleted the drop-python-310-support branch November 6, 2026 09:58
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.

2 participants