Skip to content

feat: drop 3.9, require 3.10+#1036

Merged
henryiii merged 9 commits into
pypa:mainfrom
henryiii:henryiii/feat/310
Apr 23, 2026
Merged

feat: drop 3.9, require 3.10+#1036
henryiii merged 9 commits into
pypa:mainfrom
henryiii:henryiii/feat/310

Conversation

@henryiii

Copy link
Copy Markdown
Contributor

Description

Pip is about to drop 3.9, so we probably can too. I don't think there are any pressing fixes we need to get out for 3.9.

  • feat: drop Python 3.9 support
  • chore: more 3.10 changes the model missed
  • chore: use pattern matching in a few places

🤖 Used Copilot:gpt-5-mini for the first commit.

Changelog

  • Added changelog fragment: docs/changelog/<pr_number>.<type>.rst
    • Types: feature, bugfix, doc, removal, misc
    • Example: 123.feature.rst containing Add custom backend support - by :user:`yourname`

Checklist

  • Tests pass locally (tox)
  • Code follows project style (tox -e fix)
  • Type checks pass (tox -e type)
  • Documentation builds (tox -e docs)

Comment thread src/build/__main__.py Outdated
Comment thread src/build/_builder.py Outdated
Comment thread src/build/_types.py Outdated
Comment thread src/build/_types.py Outdated
@henryiii henryiii marked this pull request as draft April 13, 2026 21:52
@henryiii

Copy link
Copy Markdown
Contributor Author

I'm going to put this in draft until the question on the direct url PR gets resolved - if we need a patch release, it's a bit easier if this isn't in yet. ;)

(Addressing review soon).

@henryiii

Copy link
Copy Markdown
Contributor Author

I added the banned API to Ruff, and verified that telling copilot gpt-5-mini to run and fix prek -a (0x token usage, if you are curious as to why that old model!) does produce the same output (but merged your suggestion instead, just saving my pyproject.toml edits).

I like being able to turn nearly any check report into an autofix. :)

Comment thread src/build/__main__.py Outdated
Comment thread tests/packages/test-metadata/pyproject.toml Outdated
@layday

layday commented Apr 18, 2026

Copy link
Copy Markdown
Member

A couple of < 3.10 constraints in tests/constraints.txt can also go.

henryiii and others added 6 commits April 23, 2026 10:17
* require >=3.10, update docs/tests, and fix ruff UP007 in _types.py
* Respect ruff banned-api: use local TYPE_CHECKING variable and keep union | syntax (fix ruff TID251)

Assisted-by: Copilot:gpt-5-mini
Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
Removed print statement for None case in log function.
Co-authored-by: layday <layday@protonmail.com>
Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
@henryiii henryiii force-pushed the henryiii/feat/310 branch from b50427f to ccc2acd Compare April 23, 2026 16:04
@henryiii henryiii force-pushed the henryiii/feat/310 branch from ccc2acd to 1108d62 Compare April 23, 2026 16:05
Signed-off-by: Henry Schreiner <henryfs@princeton.edu>
@henryiii henryiii marked this pull request as ready for review April 23, 2026 17:17
@henryiii henryiii requested a review from layday April 23, 2026 17:56
Comment thread pyproject.toml Outdated
Signed-off-by: Henry Schreiner <henryfs@princeton.edu>

@gaborbernat gaborbernat left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Not sure if the match over the if is better but I'm not against it.

@henryiii henryiii merged commit c44c143 into pypa:main Apr 23, 2026
109 of 111 checks passed
@henryiii henryiii deleted the henryiii/feat/310 branch April 23, 2026 20:06
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.

3 participants