Conversation
|
How does this relate to the 64-bit migration? It feels a bit like two parallel paths are followed here. |
|
@LeonarddeR - we plan to do this at a similar time. There isn't a huge conflict between these, brlapi is really the largest. |
|
We may go to alpha, beta, or even stable without brlapi depending on if we get builds from BRLTTY. |
Taken from #18611 #18596 and #18207 Summary of the issue: We want to build 64bit and 32builds of NVDA in parallel for the 64bit migration and python migrations. As such, we should prepare our build system to take a matrix of python versions and architecture Description of user facing changes: None Description of developer facing changes: None Description of development approach: Refer to #18611 #18596
Merge in changes from: - nvaccess/nvda-misc-deps#38 - nvaccess/nvda-misc-deps#37 To unblock - #18611 - #18207
There was a problem hiding this comment.
Pull Request Overview
This PR updates the NVDA project to support Python 3.13 in parallel with the existing Python 3.11 support. The change creates a parallel build configuration while maintaining backward compatibility.
Key changes:
- Updates dependencies (comtypes to 1.4.11, py2exe to 0.14.0.0) for Python 3.13 compatibility
- Implements a workaround for Python 3.13 frame locals clearing behavior changes
- Modernizes test code to use current unittest assertion methods and type annotations
Reviewed Changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| user_docs/en/changes.md | Documents dependency updates in changelog |
| tests/unit/test_braille/test_brailleDisplayDrivers.py | Modernizes type annotations and test assertions, adds Python version-specific test skipping |
| tests/unit/test_baseObject.py | Adds version-specific regex patterns for abstract method error messages |
| tests/unit/extensionPointTestHelpers.py | Refactors to remove deprecated assertDictContainsSubset usage and modernizes documentation |
| source/logHandler.py | Implements Python 3.13 compatible frame locals clearing |
| pyproject.toml | Updates Python version support and dependency versions |
| .python-versions | Adds Python 3.13.5 support |
| .github/workflows/testAndPublish.yml | Adds Python 3.13.5 to CI pipeline |
In my experience, Windows has always been a bit of a second class citizen in the BRLTTY project. Also, the official Windows build environment still leans on msys-1 last time I checked, which is quite old, hard to set up and fiddly get right. My impression is that Dave is the only one who cuts releases for the project including Windows. I don't know how he is now, but he has been less active for health reasons last year. So, I wouldn't expect much from the project and if we need it I would recommend we get a reliable build going on some CI service like Github actions ourselves. |
Link to issue number:
Part of #18591
Summary of the issue:
We want to update Python to 3.13.
Description of user facing changes:
None
Description of developer facing changes:
Description of development approach:
assertDictContainsSubsetassertRegexpMatchesneed to be fixedTesting strategy:
CI/CD tests
Known issues with pull request:
brlapi needs to be updated
Code Review Checklist:
@coderabbitai summary