Qt for Python Development Notes: Difference between revisions
Jump to navigation
Jump to search
AlexBlasche (talk | contribs) No edit summary |
|||
(758 intermediate revisions by 15 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Qt for Python]] | |||
==== | ==2025== | ||
=== | === 6. March 2025 === | ||
* General | |||
** Jaime's internal presentation will be next Monday at 11am | |||
** QtCS registration is up. | |||
** Discussion on IPC options for Qt developers. | |||
* Infra & Releases | |||
** 6.9 Qt for Python FF happening next week. | |||
** Windows on ARM deployment test failing. | |||
* Bugs & Features | |||
** Remote object contributions are going well, and we might merge them for 6.9 | |||
** Binary size reduction research continued, but it seems we have reached the reduction we can, without touching the C++ side of our bindings. | |||
** PYSIDE-3012 Type hints issues were addressed (typing.Sequence -> typing.Collection) even if it is a simple change in theory, to change it internally and for our generation it took a lot of time. | |||
*** Removing object-inheritance in the pyi files | |||
*** White-space around equal operators issue (default parameters) | |||
** Update Widget Gallery example | |||
** Changed to adapt std::chrono patches in shiboken (identify overloads and choose the better option) | |||
** Cleaning up some bug reports, metamethod connection issue fixed. | |||
** Addressing some coverity issues for Designer | |||
** Started 6.10 adaption. | |||
** QML Next works continues. | |||
** Changes in the build system scripts are still in progress, some stuff is broken when used, but it's going in a good direction. | |||
** Finalizing the pyside6-project changes to adapt the pyproject.toml changes. | |||
** Addressing new found QtCreator issues with the pyproject.toml compatibility. | |||
=== | === 27. February 2025 === | ||
* General | |||
** Windows on ARM improving | |||
* Bugs & Features | |||
** PYSIDE-2701 Size reduction, investigating removing redundant overloads | |||
** PYSIDE-2701 Size reduction, trying wrapper folding, needs massive reordering | |||
** PYSIDE-3012 replacement of typing.Sequence by collections.abc.Sequence | |||
*** Identified incompatibility with Python < 3.9.8 and Python < 3.10.1, fixed by small patch | |||
*** First change finally done, needs series of further changes | |||
** 6.10 adaption continues | |||
** PYSIDE 2942 Slot type annotation fix | |||
** QTBUG-132266 Checked the code on macOS that the user uploaded, no issues were found related to PySide or macOS. | |||
=== | === 20. February 2025 === | ||
* General | |||
** QtWS possible participation | |||
** QtCS has a priority of bringing more external contributors | |||
* Infra & Releases | |||
** 6.9 RC February 28th (maybe postponed) | |||
** Windows on ARM test cases failing due to mypy fast cache (requires rust toolchain, that's currently missing from the CI). static libclang doesn't work on ARM builds (but does in x86_64). | |||
** RTA trials continue, possibility to use qtpip | |||
* Bugs & Features | |||
** PYSIDE-2701 Size reduction for virtual functions patch was merged | |||
** PYSIDE-3002 painted virtual functions solved (even though we had our own opinion about performance) | |||
** 3020 SignalInstance disconnect issue fixed | |||
** Templates/snippets cleanup in the typesystem. | |||
** 6.10 adaption continues | |||
** QtCreator toml changes: | |||
*** psyide6-project adaption to the latest changed related | |||
** QtDS changes postponed (to be available in QtDS 4.8) | |||
** PYSIDE-3017 QSerialBus overload order issue was fixed | |||
** PYSIDE-3012 Still addressing issues (CI currently failing) | |||
** qtqa improving the wheel testing process. | |||
** Brainstorming a better approach for QML Next | |||
** Finishing the folding patches, they don't make a lot of sense at the moment due to previous changes (being added into shiboken) | |||
=== | === 13. February 2025 === | ||
* General | |||
** Did you know Shiboken translates into "Death Sword"? 死某剣 | |||
** QtCS happening after QtWS in Munich in early May. | |||
** Qt Design Studio integration (internal presentation) with Python to be prepared. | |||
* Infra & Releases | |||
** Windows on ARM research continues. | |||
** QtDS wheels to be updated for the new release | |||
** 6.9.0 RC by the end of the February. | |||
** RTA testing initiative to be restart | |||
** Evaluating scikit-core-build for replacing build_scripts/ | |||
* Bugs & Features | |||
** Flatpak issue was solved (cleanup) | |||
** Brainstorming ideas for QML Next (preparing internal presentation) | |||
** Android wheel names to be adapted https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/#android | |||
** Qt Creator finishing .toml support for Python Projects. | |||
** Qt DS Python changes ready to be merged | |||
*** Tutorial changes to be prepared | |||
** Type hints heuristic evaluation in order to address newly found issues related to overloads with similar shape. | |||
** Handling of value-types in shiboken (refactoring, new features and doc) | |||
** PYSIDE-3005 OpenGL issues were fixed | |||
** PYSIDE-3013 Font issue was fixed | |||
** PYSIDE-3015 OpcUA support bug fixed | |||
** PYSIDE-3014 virtual function on QSpinBox issue fixed | |||
** 6.9 adaption patches | |||
*** Found newly moc changes were breaking our enums | |||
** Size Reduction | |||
*** hashing functions to re-use them. | |||
*** changing the policy to use absolute size measure (sizebench) | |||
*** Removing a few things from the folding patch, in order to merge it | |||
** PYSIDE-2997 and PYSIDE-3003 type hints issues were solved. A couple are still open. | |||
=== | === 6. February 2025 === | ||
* General | |||
** We went to FOSDEM and meet many PySide users! | |||
** Commercial / LTS naming on the Installer. | |||
* Infra & Releases | |||
** Reviewing our branching policies. There is interest in branching pyside-setup sooner. | |||
** We might need to move the Android wheels to PyPI (Probably from 6.9 on) | |||
** 6.8.2.1 release is planned in order to fix the missing DLLs in Windows (MSVC) | |||
*** cheery pick is missing for 5.15 | |||
** PySide6_DS 4.7 to be released in the next couple of weeks. | |||
* Bugs & Features | |||
** Adding TOML support for Python projects in QtCreator | |||
** TypeHints new reports, trying to get an idea of what's causing the errors | |||
** Issues in Flatpak: updating version, checking a cleanup issue. Addressing dependencies issues for optional packages. | |||
** QtQA internal scripting: Adapting an automatic wheel download. | |||
** Size reduction | |||
*** Move virtual function overrides. Only generated on the base classes. | |||
*** Discovered and fixed a few multiple inheritance with shiboken | |||
** Snippets translation tool: Trying to add a feature to use fully qualified enums. | |||
** clang-tidy warnings were fixes | |||
** Handling value types on non-default constructors (inspired by 6.9 changes) | |||
** Discussion on moving away out internal building process to scikit-build | |||
** Size reduction (folding approach): To publish first results soon. | |||
** Supporting team member with pyi session to understand the internal mechanism. | |||
** Ideas from the size reduction research were implemented | |||
** Changing the benchmark code for the size reduction (which might not include the new changes to shiboken) | |||
=== | === 30. January 2025 === | ||
* General | |||
* Infra & Releases | |||
** Preparing 6.8.2 | |||
* Bugs & Features | |||
** Size reduction [https://bugreports.qt.io/browse/PYSIDE-2701 PYSIDE-2701] : Implemented code reuse for Python overrides of virtual functions | |||
** QtPythonScripting: continue working on multiple inheritance, added more widgets | |||
** Size reduction: PYSIDE-2701 Folding progress: We can now combine multiple foldings of the same function. This will bring some more reduction. | |||
** Simplebrowser example updated | |||
** adding imageviewer docs | |||
=== 23. January 2025 === | |||
* General | |||
** [https://invent.kde.org/frameworks/kconfig/-/jobs/2497118 KDE testing Qt betas and snapshots] | |||
*** Should we update our Branching policy? | |||
*** Our branching policy: | |||
**** We branch briefly after API Review is done in qt meta repo. | |||
** Yocto libclang issue - https://codereview.qt-project.org/c/pyside/pyside-setup/+/609352 | |||
* Infra & Releases | |||
** Windows on ARM configuration testing. | |||
** 6.8.2 scheduled release next week, and branching will happen today. | |||
* Bugs & Features | |||
** QtPythonScripting: continue working on Stable ABI support and multiple inheritance | |||
** [ext] 6.9 Designer release issues with macOS drag and drop + bug fixing | |||
** PYSIDE-2990 Slot Executed in Signal's Thread Even With Auto & QueuedConnection | |||
*** People is getting the documentation from an outdated wiki page, which is causing new reports. | |||
*** Wiki will be updated. | |||
** Size reduction: we generate a lot of code for parsing keyword arguments. The code was moved to libshiboken and the size was reduced 3% | |||
*** Optimization reviews: it seems it's only the virtual functions, but not the actual bindings. | |||
** Size reduction: Windows is giving some issues for special characters, which seems to be also present in Linux. | |||
** Cross compiling and creating wheels with the new JNI classes bindings. Trying to test them in an emulator, found other issues. | |||
** pyside6-deploy/project and DS changes integrating, hopefully they will be merged today \o/ | |||
** DS-only changes are still in review. | |||
** TOML integration - continue research on adding new format for python projects | |||
** QtGraphWidgets issue with yocto build was fixed. | |||
=== 16. January 2025 === | |||
* General | |||
** Highly probable that one of us will go to FOSDEM to help with the Qt Project stand! so if you /reader/ are going, drop by and say hi! | |||
* Infra & Releases | |||
** 6.8.2 will be released on 23th January so far, so we expect providing the wheels in the following days. | |||
** 3.13 on the CI still on-going. | |||
** 6.5.4 OSS released | |||
* Bugs & Features | |||
** Discussion about QJni* bindings when cross compiling. | |||
*** It did built (and installed) for aarch64 and x86_64 but armv7a will be tried later on. | |||
*** The main issue with this story was that it was bindings only for cross compiled pyside | |||
** Exploring toml compatibilities within QtCreator | |||
** DS patches still needs review. | |||
** Binary size work continues | |||
*** 17% reduction so far, and this could be included in the future-features list. | |||
*** Once is ready, we might provide an option to disable it to go back to the more readable wrapper code. | |||
*** We might evaluate a template approach once the solution is out, to avoid maintaining regexes. | |||
** Remote Object reviews ready in order to merge changes (only a few details) | |||
** Qt Python Scripting | |||
*** Multiple inheritance is not supported yet. | |||
*** REPL function to help development | |||
*** Research on Limited API usage. | |||
*** find_python macro in 3.26 allow to find the stable abi | |||
** docstring changes in order to expose them as docstring per methods. | |||
*** some experiment to add it to the pyi files, but it doesn't show. | |||
=== | === 09. January 2025 === | ||
* General | |||
** FOSDEM 2025: Qt got a stand! | |||
** Internal Hackathon going on. | |||
* Infra & Releases | |||
** https://download.qt.io/official_releases/QtForPython/ got restructured and it's now very tidy | |||
** Preparing 6.8.2 | |||
** 6.8.1.1 Windows and Linux wheels were uploaded for consistency thanks to user-reports when uploading only the 6.8.1.1 on macOS due to a missing module | |||
** Tests with 3.13 on the CI | |||
* Bugs & Features | |||
** [https://bugreports.qt.io/browse/PYSIDE-2966 PYSIDE-2966] Disabled instantiating non-instantiable classes | |||
** [https://bugreports.qt.io/browse/PYSIDE-1735 PYSIDE-1735] Examples and tests were ported to use fully qualified enumerations | |||
** Python Scripting continues (enable adding __repr__ functions) | |||
** Discussion about QJni* bindings when cross compiling. | |||
*** We might try a few new configurations for adding this bindings. | |||
** Tutorial for Boot2Qt and PySide apps deployment | |||
** Doc changes: adding comments for using uv | |||
** QML Next: still working on improved decorators for a smoother integration | |||
** Qt Remote Objects: Big set of patches by external contributor | |||
** Binary size reduction work continues with new ideas from other projects: folding, string handling, renaming, etc. | |||
** Yocto builds issues with LLVM still not solved. | |||
==== | ==2024== | ||
*[[Qt for Python Development Notes 2024]] | |||
==== | ==2023== | ||
*[[Qt for Python Development Notes 2023]] | |||
==== | ==2022== | ||
*[[Qt for Python Development Notes 2022]] | |||
==== | ==2021== | ||
*[[Qt for Python Development Notes 2021]] | |||
==== | ==2020== | ||
*[[Qt for Python Development Notes 2020]] | |||
==2019== | |||
*[[Qt for Python Development Notes 2019]] | |||
==== | ==2018== | ||
*[[Qt for Python Development Notes 2018]] | |||
Latest revision as of 09:46, 6 March 2025
2025
6. March 2025
- General
- Jaime's internal presentation will be next Monday at 11am
- QtCS registration is up.
- Discussion on IPC options for Qt developers.
- Infra & Releases
- 6.9 Qt for Python FF happening next week.
- Windows on ARM deployment test failing.
- Bugs & Features
- Remote object contributions are going well, and we might merge them for 6.9
- Binary size reduction research continued, but it seems we have reached the reduction we can, without touching the C++ side of our bindings.
- PYSIDE-3012 Type hints issues were addressed (typing.Sequence -> typing.Collection) even if it is a simple change in theory, to change it internally and for our generation it took a lot of time.
- Removing object-inheritance in the pyi files
- White-space around equal operators issue (default parameters)
- Update Widget Gallery example
- Changed to adapt std::chrono patches in shiboken (identify overloads and choose the better option)
- Cleaning up some bug reports, metamethod connection issue fixed.
- Addressing some coverity issues for Designer
- Started 6.10 adaption.
- QML Next works continues.
- Changes in the build system scripts are still in progress, some stuff is broken when used, but it's going in a good direction.
- Finalizing the pyside6-project changes to adapt the pyproject.toml changes.
- Addressing new found QtCreator issues with the pyproject.toml compatibility.
27. February 2025
- General
- Windows on ARM improving
- Bugs & Features
- PYSIDE-2701 Size reduction, investigating removing redundant overloads
- PYSIDE-2701 Size reduction, trying wrapper folding, needs massive reordering
- PYSIDE-3012 replacement of typing.Sequence by collections.abc.Sequence
- Identified incompatibility with Python < 3.9.8 and Python < 3.10.1, fixed by small patch
- First change finally done, needs series of further changes
- 6.10 adaption continues
- PYSIDE 2942 Slot type annotation fix
- QTBUG-132266 Checked the code on macOS that the user uploaded, no issues were found related to PySide or macOS.
20. February 2025
- General
- QtWS possible participation
- QtCS has a priority of bringing more external contributors
- Infra & Releases
- 6.9 RC February 28th (maybe postponed)
- Windows on ARM test cases failing due to mypy fast cache (requires rust toolchain, that's currently missing from the CI). static libclang doesn't work on ARM builds (but does in x86_64).
- RTA trials continue, possibility to use qtpip
- Bugs & Features
- PYSIDE-2701 Size reduction for virtual functions patch was merged
- PYSIDE-3002 painted virtual functions solved (even though we had our own opinion about performance)
- 3020 SignalInstance disconnect issue fixed
- Templates/snippets cleanup in the typesystem.
- 6.10 adaption continues
- QtCreator toml changes:
- psyide6-project adaption to the latest changed related
- QtDS changes postponed (to be available in QtDS 4.8)
- PYSIDE-3017 QSerialBus overload order issue was fixed
- PYSIDE-3012 Still addressing issues (CI currently failing)
- qtqa improving the wheel testing process.
- Brainstorming a better approach for QML Next
- Finishing the folding patches, they don't make a lot of sense at the moment due to previous changes (being added into shiboken)
13. February 2025
- General
- Did you know Shiboken translates into "Death Sword"? 死某剣
- QtCS happening after QtWS in Munich in early May.
- Qt Design Studio integration (internal presentation) with Python to be prepared.
- Infra & Releases
- Windows on ARM research continues.
- QtDS wheels to be updated for the new release
- 6.9.0 RC by the end of the February.
- RTA testing initiative to be restart
- Evaluating scikit-core-build for replacing build_scripts/
- Bugs & Features
- Flatpak issue was solved (cleanup)
- Brainstorming ideas for QML Next (preparing internal presentation)
- Android wheel names to be adapted https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/#android
- Qt Creator finishing .toml support for Python Projects.
- Qt DS Python changes ready to be merged
- Tutorial changes to be prepared
- Type hints heuristic evaluation in order to address newly found issues related to overloads with similar shape.
- Handling of value-types in shiboken (refactoring, new features and doc)
- PYSIDE-3005 OpenGL issues were fixed
- PYSIDE-3013 Font issue was fixed
- PYSIDE-3015 OpcUA support bug fixed
- PYSIDE-3014 virtual function on QSpinBox issue fixed
- 6.9 adaption patches
- Found newly moc changes were breaking our enums
- Size Reduction
- hashing functions to re-use them.
- changing the policy to use absolute size measure (sizebench)
- Removing a few things from the folding patch, in order to merge it
- PYSIDE-2997 and PYSIDE-3003 type hints issues were solved. A couple are still open.
6. February 2025
- General
- We went to FOSDEM and meet many PySide users!
- Commercial / LTS naming on the Installer.
- Infra & Releases
- Reviewing our branching policies. There is interest in branching pyside-setup sooner.
- We might need to move the Android wheels to PyPI (Probably from 6.9 on)
- 6.8.2.1 release is planned in order to fix the missing DLLs in Windows (MSVC)
- cheery pick is missing for 5.15
- PySide6_DS 4.7 to be released in the next couple of weeks.
- Bugs & Features
- Adding TOML support for Python projects in QtCreator
- TypeHints new reports, trying to get an idea of what's causing the errors
- Issues in Flatpak: updating version, checking a cleanup issue. Addressing dependencies issues for optional packages.
- QtQA internal scripting: Adapting an automatic wheel download.
- Size reduction
- Move virtual function overrides. Only generated on the base classes.
- Discovered and fixed a few multiple inheritance with shiboken
- Snippets translation tool: Trying to add a feature to use fully qualified enums.
- clang-tidy warnings were fixes
- Handling value types on non-default constructors (inspired by 6.9 changes)
- Discussion on moving away out internal building process to scikit-build
- Size reduction (folding approach): To publish first results soon.
- Supporting team member with pyi session to understand the internal mechanism.
- Ideas from the size reduction research were implemented
- Changing the benchmark code for the size reduction (which might not include the new changes to shiboken)
30. January 2025
- General
- Infra & Releases
- Preparing 6.8.2
- Bugs & Features
- Size reduction PYSIDE-2701 : Implemented code reuse for Python overrides of virtual functions
- QtPythonScripting: continue working on multiple inheritance, added more widgets
- Size reduction: PYSIDE-2701 Folding progress: We can now combine multiple foldings of the same function. This will bring some more reduction.
- Simplebrowser example updated
- adding imageviewer docs
23. January 2025
- General
- KDE testing Qt betas and snapshots
- Should we update our Branching policy?
- Our branching policy:
- We branch briefly after API Review is done in qt meta repo.
- Yocto libclang issue - https://codereview.qt-project.org/c/pyside/pyside-setup/+/609352
- KDE testing Qt betas and snapshots
- Infra & Releases
- Windows on ARM configuration testing.
- 6.8.2 scheduled release next week, and branching will happen today.
- Bugs & Features
- QtPythonScripting: continue working on Stable ABI support and multiple inheritance
- [ext] 6.9 Designer release issues with macOS drag and drop + bug fixing
- PYSIDE-2990 Slot Executed in Signal's Thread Even With Auto & QueuedConnection
- People is getting the documentation from an outdated wiki page, which is causing new reports.
- Wiki will be updated.
- Size reduction: we generate a lot of code for parsing keyword arguments. The code was moved to libshiboken and the size was reduced 3%
- Optimization reviews: it seems it's only the virtual functions, but not the actual bindings.
- Size reduction: Windows is giving some issues for special characters, which seems to be also present in Linux.
- Cross compiling and creating wheels with the new JNI classes bindings. Trying to test them in an emulator, found other issues.
- pyside6-deploy/project and DS changes integrating, hopefully they will be merged today \o/
- DS-only changes are still in review.
- TOML integration - continue research on adding new format for python projects
- QtGraphWidgets issue with yocto build was fixed.
16. January 2025
- General
- Highly probable that one of us will go to FOSDEM to help with the Qt Project stand! so if you /reader/ are going, drop by and say hi!
- Infra & Releases
- 6.8.2 will be released on 23th January so far, so we expect providing the wheels in the following days.
- 3.13 on the CI still on-going.
- 6.5.4 OSS released
- Bugs & Features
- Discussion about QJni* bindings when cross compiling.
- It did built (and installed) for aarch64 and x86_64 but armv7a will be tried later on.
- The main issue with this story was that it was bindings only for cross compiled pyside
- Exploring toml compatibilities within QtCreator
- DS patches still needs review.
- Binary size work continues
- 17% reduction so far, and this could be included in the future-features list.
- Once is ready, we might provide an option to disable it to go back to the more readable wrapper code.
- We might evaluate a template approach once the solution is out, to avoid maintaining regexes.
- Remote Object reviews ready in order to merge changes (only a few details)
- Qt Python Scripting
- Multiple inheritance is not supported yet.
- REPL function to help development
- Research on Limited API usage.
- find_python macro in 3.26 allow to find the stable abi
- docstring changes in order to expose them as docstring per methods.
- some experiment to add it to the pyi files, but it doesn't show.
- Discussion about QJni* bindings when cross compiling.
09. January 2025
- General
- FOSDEM 2025: Qt got a stand!
- Internal Hackathon going on.
- Infra & Releases
- https://download.qt.io/official_releases/QtForPython/ got restructured and it's now very tidy
- Preparing 6.8.2
- 6.8.1.1 Windows and Linux wheels were uploaded for consistency thanks to user-reports when uploading only the 6.8.1.1 on macOS due to a missing module
- Tests with 3.13 on the CI
- Bugs & Features
- PYSIDE-2966 Disabled instantiating non-instantiable classes
- PYSIDE-1735 Examples and tests were ported to use fully qualified enumerations
- Python Scripting continues (enable adding __repr__ functions)
- Discussion about QJni* bindings when cross compiling.
- We might try a few new configurations for adding this bindings.
- Tutorial for Boot2Qt and PySide apps deployment
- Doc changes: adding comments for using uv
- QML Next: still working on improved decorators for a smoother integration
- Qt Remote Objects: Big set of patches by external contributor
- Binary size reduction work continues with new ideas from other projects: folding, string handling, renaming, etc.
- Yocto builds issues with LLVM still not solved.