Skip to content

🧪 Make Python 3.13 and 3.14 supported officially#825

Merged
webknjaz merged 4 commits intoansible:develfrom
webknjaz:maintenance/py3.14+py3.13-official-support
Mar 15, 2026
Merged

🧪 Make Python 3.13 and 3.14 supported officially#825
webknjaz merged 4 commits intoansible:develfrom
webknjaz:maintenance/py3.14+py3.13-official-support

Conversation

@webknjaz
Copy link
Copy Markdown
Member

@webknjaz webknjaz commented Mar 15, 2026

SUMMARY

This change fully integrates the infrastructure for testing the wheels built for Python 3.13 and 3.14. It also reflects this in the core packaging metadata as Trove classifiers.

ISSUE TYPE
  • Maintenance Pull Request
  • Packaging Pull Request
ADDITIONAL INFORMATION

Some of the initial effort is coming from #809 and a few other experimental PRs that didn't end up complete. The coverage configuration needed to be included in the scope of this PR as there was a warning-turned-error that was happening in newly-added Python 3.14 jobs.

@webknjaz webknjaz self-assigned this Mar 15, 2026
@webknjaz webknjaz added the 🤖 infra This includes packaging, CI/CD, test runners, dev env. That sort of stuff. label Mar 15, 2026
@packit-as-a-service

This comment was marked as outdated.

@webknjaz webknjaz force-pushed the maintenance/py3.14+py3.13-official-support branch from 52e0012 to 35e361b Compare March 15, 2026 17:11
`sysmon` is slow in certain envs and is unsupported by coverage plugins
implementing file tracers, like the one provided by Cython that we use.

Python 3.14 has `sysmon` selected by default, which causes coveragepy
emit a warning, that turns into an error by `pytest` guardrails
implemented through `fiterwarnings`.

Refs:
* coveragepy/coveragepy#2099
* coveragepy/coveragepy#2082
@webknjaz webknjaz force-pushed the maintenance/py3.14+py3.13-official-support branch from 35e361b to 8d4f93f Compare March 15, 2026 17:32
This patch adds respective Trove classifiers to the core packaging
metadata to announce support. These have no effect on the dependency
resolution and are purely informative.
webknjaz added a commit to webknjaz/ansible--pylibssh that referenced this pull request Mar 15, 2026
@webknjaz webknjaz force-pushed the maintenance/py3.14+py3.13-official-support branch from 05e82c7 to d493cc0 Compare March 15, 2026 21:43
@psf-chronographer psf-chronographer Bot added the bot:chronographer:provided There is a change note present in this PR label Mar 15, 2026
@webknjaz webknjaz moved this to 🚧 In progress 🚧 in 📅 Procrastinating in public 😵‍💫 Mar 15, 2026
@webknjaz webknjaz force-pushed the maintenance/py3.14+py3.13-official-support branch from 9475280 to f3cf31b Compare March 15, 2026 21:50
@webknjaz webknjaz merged commit 5a6fbf7 into ansible:devel Mar 15, 2026
2 of 11 checks passed
@webknjaz webknjaz moved this from 🚧 In progress 🚧 to 🌈 Done 🦄 in 📅 Procrastinating in public 😵‍💫 Mar 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot:chronographer:provided There is a change note present in this PR 🤖 infra This includes packaging, CI/CD, test runners, dev env. That sort of stuff.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant