Repository navigation
python added 3.15 support - #1761
OmkarSarkar204 wants to merge 4 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot couldn't run its full agentic review because no GitHub Actions runner was available. Make sure your repository has a runner available to run Copilot's review, or add a copilot-setup-steps.yml file specifying one with the runs-on attribute. See the docs for more details.
Adds Python 3.15 support across packaging metadata and CI/dev tooling so the project can publish/test against the newer interpreter.
Changes:
- Add Python 3.15 Trove classifier in
pyproject.toml. - Expand GitHub Actions matrices (and some pinned workflow versions) to include/use Python 3.15.
- Update Windows developer setup script to treat 3.15 similarly to 3.14 for build-tools warnings.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Adds Python 3.15 classifier to advertised supported versions. |
| SetupDeveloperPC.bat | Extends Python-version detection to match 3.15. |
| .github/workflows/update_vehicle_templates.yml | Adds 3.15 to the workflow Python matrix. |
| .github/workflows/update_configuration_steps_translation.yaml | Switches workflow runtime Python to 3.15. |
| .github/workflows/update_codebase_chart.yml | Adds 3.15 to workflow matrices. |
| .github/workflows/reuse.yml | Switches workflow runtime Python to 3.15. |
| .github/workflows/python-publish.yml | Switches publish workflow runtime Python to 3.15. |
| .github/workflows/pytest.yml | Adds 3.15 to test matrix and carryforward coverage config. |
| .github/workflows/pylint.yml | Adds 3.15 to pylint matrix. |
| .github/workflows/build_windows_macos.yml | Adds 3.15 to build matrices across OS jobs. |
637f92d to
7bbc2a6
Compare
7bbc2a6 to
daa8075
Compare
|
I corrected some stuff, let's see if the tests pass. And if they do, let's see if the windows executables run correctly. |
|
At least lxml 6.1.1 causes issues. So we need to wait until that is fixed upstream until we can progress with this. |
Yes, i also got the lxml error, thats why I had reverted the CI YAMLs and just kept the pyproject.toml bump :) |
|
The pyproject.toml bump is a lie if python 3.15 does not pass ci :) |
daa8075 to
013955e
Compare
|
My guess is that once it is officially released, most issues will go away. |
b08a023 to
08a655c
Compare
Coverage Report for CI Build 29822454163Warning No base build found for commit Coverage: 94.286%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats💛 - Coveralls |
4206d9d to
4654579
Compare
4654579 to
d782351
Compare
Previous review (2026-10-05)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head Thanks for working on Python 3.15 support. Two things need fixing before this can go in.
Smaller points: please keep an exact Windows interpreter version rather than |
d782351 to
3ccbbde
Compare
Previous review (2026-10-05)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head Thanks for the update. The PyInstaller bump fixes the earlier Python-version rejection, but it introduces a new blocker. I've re-reviewed at the new head 3ccbbde.
Smaller points: numpy 2.3.4 and matplotlib 3.10.9 have no cp315 wheels, so consider 3.15-specific pins to releases that ship them. Please keep an exact Windows interpreter version rather than '3.15' (https://github.com/ArduPilot/MethodicConfigurator/pull/1761/files#diff-7ad8d8dcc9d03fa22466151743062a81bdf381fa908ef2e52ba0e1ff770308f8R28). Also update the Coveralls carryforward list at .github/workflows/pytest.yml:282 to the py3.15 Ubuntu/Windows flags that the renamed matrix (https://github.com/ArduPilot/MethodicConfigurator/pull/1761/files#diff-2500680f4bc6c1b75c3d4b36372bf4d64c5f603b90bfd7a5186f66a20329d16aR31) now uploads. The release workflow and frozen executables were not run. |
3ccbbde to
24ce07b
Compare
Previous review (2026-10-08)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head The new head 24ce07b is a straight rebase of the previously reviewed 3ccbbde, so the earlier points all still apply.
Smaller points:
The release workflow, frozen executables and the 3.15 source builds were not exercised. |
24ce07b to
3fbd9ec
Compare
Signed-off-by: Omkar Sarkar <omkarsarkar24@gmail.com>
Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.20.0 to 6.22.3. - [Release notes](https://github.com/pyinstaller/pyinstaller/releases) - [Changelog](https://github.com/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst) - [Commits](pyinstaller/pyinstaller@v6.20.0...v6.22.3) --- updated-dependencies: - dependency-name: pyinstaller dependency-version: 6.22.3 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
3fbd9ec to
f2fa0e4
Compare
|
The tests pass now. The only issue is a ty finding exclusion that must be removed in 3.15, but must be present on 3.10 So I guess this requires an updated ty version at some point |
|
Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head Thanks for the update. This is a review of head f2fa0e4, which adds real changes on top of the previously reviewed 24ce07b. The earlier points are sorted: the hooks-contrib pin, the 3.15 numpy/matplotlib pins, the exact interpreter versions, the Coveralls list and the lxml steps. Pytest now passes on Python 3.15.0 on Linux, Windows and macOS, and the earlier Windows crash is gone. One thing still blocks.
Not blocking:
For the maintainer only: 33fb099 and f2fa0e4 carry no Signed-off-by line. Not exercised here: the Windows, macOS and Linux installer builds and frozen executables, a full local pytest run, and the cancelled |
Description
Closes : #1753
Checklist
git commit --signoff)Testing
Describe how you tested these changes: