Skip to content

Add initial support for Python 3.15 - #2466

Merged
DanielNoord merged 3 commits into
PyCQA:mainfrom
DanielNoord:python315
Mar 29, 2026
Merged

Add initial support for Python 3.15#2466
DanielNoord merged 3 commits into
PyCQA:mainfrom
DanielNoord:python315

Conversation

@DanielNoord

@DanielNoord DanielNoord commented Mar 7, 2026

Copy link
Copy Markdown
Member

Before we can consider #2462 we first need to support 3.15 to begin with.

This:

  • Bumps stdlibs to the latest version to get py315 support
  • Adds the 3.15 marker where needed in tox and CI files
  • Ignores tests/integration/test_hypothesmith.py on 3.15 as libcst doesn't support it (yet)
  • Unignores the django integration test
  • Adds version specifiers to some imports that do not support 3.15 yet
  • Adds the 3.15 marker to metadata
  • Ignores an issue in pygments
  • Updates the lock file

Quite a lot of changes, but all necessary to make 3.15 pass on CI in its fullest capacity.

@codecov

codecov Bot commented Mar 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.15%. Comparing base (2fb94e1) to head (80b86e0).
⚠ïļ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2466   +/-   ##
=======================================
  Coverage   99.15%   99.15%           
=======================================
  Files          40       41    +1     
  Lines        3067     3068    +1     
  Branches      665      665           
=======================================
+ Hits         3041     3042    +1     
  Misses         14       14           
  Partials       12       12           
🚀 New features to boost your workflow:
  • ❄ïļ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@DanielNoord
DanielNoord marked this pull request as ready for review March 7, 2026 22:07
@DanielNoord
DanielNoord requested a review from staticdev March 7, 2026 22:07
@DanielNoord

Copy link
Copy Markdown
Member Author

@staticdev Do you think you can give this as review?

@staticdev

Copy link
Copy Markdown
Collaborator

Sure @DanielNoord i am on vacation but will be back in 9 days.

Comment thread .github/workflows/continuous-integration.yml Outdated

@staticdev staticdev 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.

@DanielNoord I would not rush for this one, actually I was thinking of finally remove support for Python 2 first, since 3.15 is pre-release still we don't need to merge this now, but we can keep it here.

@DanielNoord

Copy link
Copy Markdown
Member Author

@staticdev I think adding support for lazy imports might be quite a lot of work. See the linked issue, as we'll also need to coordinate a bit with ruff and others.

Merging this will at least unblock this as we'll be able to start testing and parsing the lazy imports.

I think it would be good for the community if isort supports lazy imports from day 1.

@staticdev staticdev 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.

Fine @DanielNoord, I checked the PR and I think also can be a preliminary implementation then. Since it is updating dependencies, it needs to have a new uv.lock.

DanielNoord and others added 2 commits March 29, 2026 18:58
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
@DanielNoord
DanielNoord added this pull request to the merge queue Mar 29, 2026
Merged via the queue into PyCQA:main with commit 65d8feb Mar 29, 2026
26 checks passed
@DanielNoord
DanielNoord deleted the python315 branch March 29, 2026 17:07
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