Qt for Python Development Notes: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
 
(146 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category:Qt for Python]]
[[Category:Qt for Python]]


==2024==
==2025==
 
===25. April 2024===
* General
* Infra & Releases
** Preparing 6.7.1
* Bugs & Features
** Added a number of new classes
** Work on regressions introduced by lazy initialization [https://bugreports.qt.io/browse/PYSIDE-2675 PYSIDE-2675]
** Work on a crash in Python 3.12 [https://bugreports.qt.io/browse/PYSIDE-2676 PYSIDE-2676]
** Fixed memory leaks [https://bugreports.qt.io/browse/PYSIDE-1617 PYSIDE-1617]
** Work on our QML list property support [https://bugreports.qt.io/browse/PYSIDE-2698 PYSIDE-2698]


===18. April 2024===
=== 6. March 2025 ===


* General
* General
** Bug fixing week
** Jaime's internal presentation will be next Monday at 11am
** PyConDE (Mon-Wed next week)
** QtCS registration is up.
** Planning a workshop for TQtC solution engineers (internal)
** Discussion on IPC options for Qt developers.
** Possibility to include shiboken into the Axivion infra
* Infra & Releases
* Infra & Releases
** 5.15.17 commercial LTS was postponed to Friday. Still need test on Windows.
** 6.9 Qt for Python FF happening next week.
** 6.5.6 release planned
** Windows on ARM deployment test failing.
** 6.7.1 release has been postponed to the first week of May
** DS-compatibility wheel postponed due to CI issues
** We might need to create a testing platform in order to check other errors that are not detectable with simple tests.
* Bugs & Features
* Bugs & Features
** Few new type hints issues from 6.7.0 release, needs to be address on 6.7.1
** Remote object contributions are going well, and we might merge them for 6.9
** QtAsyncio issue related to Task groups. Tricky, because it can be related to Qt Events.
** Binary size reduction research continued, but it seems we have reached the reduction we can, without touching the C++ side of our bindings.
** PYSIDE-2629 Adding more Qt-tools to the wheels
** 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.
** PYSIDE-2622 Adding a new option to the deploy tool (exposing an option from Nuitka)
*** Removing object-inheritance in the pyi files
** PYSIDE-2675 Lazy loading issues with trees of polymorphic classes.
*** White-space around equal operators issue (default parameters)
*** first approach made things less effective
** Update Widget Gallery example
*** The impact of the solution was reduced a bit, by disabling the feature for special multiple-inheritance cases
** Changed to adapt std::chrono patches in shiboken (identify overloads and choose the better option)
*** New idea on 'groups' that be handled differently, so we have group or classes grouped and dependant
** Cleaning up some  bug reports, metamethod connection issue fixed.
** 825 qml bug is still around
** Addressing some coverity issues for Designer
*** PYSIDE-2676 seems to be a new approach to fix it
** Started 6.10 adaption.
** A few customer bugs made it the bug fixing week.
** QML Next works continues.
** PYSIDE-2675 type discovery code, class inheritance
** Changes in the build system scripts are still in progress, some stuff is broken when used, but it's going in a good direction.
** QtAudio -> QAudio refactory
** Finalizing the pyside6-project changes to adapt the pyproject.toml changes.
** Virtual function compatibility to modify the signature (from typesystem)
** Addressing new found QtCreator issues with the pyproject.toml compatibility.
** PYSIDE-2492 uic issues for Enum compatibility
*** More improvements for Python projects (import options)
** PYSIDE-2685 nan type definition
** Removing code from shiboken
** 6.8 Adaption already started
** PYSIDE-2689 sphinx directives doesn't seems to be compatible with the search context.


===11. April 2024===
=== 27. February 2025 ===
* General
* General
** Bug fixing week.
** Windows on ARM improving
** Qt 6.6.3 Library split broke our release, so we provided 6.6.3.1 as a fix.
** Qt 6.7.0 also had an issue with a binary incompatibility change on QtAudio and QAudio
** Maybe we implement a simple channel of communicating this details, in order to avoid breakage [maybe architect meetings]
** Qt Creator 13 creates venvs automatically. This needs to be revisited to avoid multiple environments to be created.
** New epics with brainstorming ideas.
* Infra & Releases
** 6.7.0 was released, we found a couple of issues we are trying to solve, and 6.7.1 will soon be released due to a binary compatibility break, and other small breakage.
**  5.15.17 commercial LTS to be release next week.
** QtDS packages a bit delay due to CI errors.
** Qt Installer (Maintenance tool) has  still some issues with the structure.
* Bugs & Features
* Bugs & Features
** Adding new Qt tools to the wheels (wrappers)
** PYSIDE-2701 Size reduction, investigating removing redundant overloads
** PYSIDE-2602 special virtual function research
** PYSIDE-2701 Size reduction, trying wrapper folding, needs massive reordering
** PYSIDE-2669 designer issue
** PYSIDE-3012 replacement of typing.Sequence by collections.abc.Sequence
** PYSIDE-2675 Addressing the lazy import issues that were found in 6.7.0
*** Identified incompatibility with Python < 3.9.8 and Python < 3.10.1, fixed by small patch
*** Studying the possible solution, but it needs to consider other cases as well.
*** First change finally done, needs series of further changes
*** the *-import handling seems to be related, and affecting the mro content, duplicating some entries.
** 6.10 adaption continues
*** the type discovery handler might be related as well
** PYSIDE 2942 Slot type annotation fix
** Still working on the qml 825 bug issues.
** QTBUG-132266 Checked the code on macOS that the user uploaded, no issues were found related to PySide or macOS.


===4. April 2024===
=== 20. February 2025 ===
* General
* General
** Large part of the team at conferences/on Easter holiday
** QtWS possible participation
** QtCS has a priority of bringing more external contributors
* Infra & Releases
* Infra & Releases
** Released 6.6.3.1 release with fixes for Quick Controls/Multimedia
** 6.9 RC February 28th (maybe postponed)
** Preparing for 6.7.0
** 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
* Bugs & Features
** [https://bugreports.qt.io/browse/PYSIDE-2646 PYSIDE-2646] Improved cleanup of signal manager objects
** PYSIDE-2701 Size reduction for virtual functions patch was merged
** [https://bugreports.qt.io/browse/PYSIDE-2662 PYSIDE-2662] Fix for a signal in OpcUA
** PYSIDE-3002 painted virtual functions solved (even though we had our own opinion about performance)
** [https://bugreports.qt.io/browse/PYSIDE-2663 PYSIDE-2663] Fixed a crash in webengine bindings
** 3020 SignalInstance disconnect issue fixed
** [https://bugreports.qt.io/browse/PYSIDE-2668 PYSIDE-2668] Fixed an error in enums
** 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)


===28. March 2024===
* General
* Infra & Releases
** Prepared 6.6.3.1 release; 6.6.3 was unfortunately broken due to missing libraries (Quick Controls/Multimedia)
* Bugs & Features
** [https://bugreports.qt.io/browse/PYSIDE-2654 PYSIDE-2654] Fixed multiple inheritance when no __init__ is in a subclass
** Still investigating a crash on Ubuntu with Python 3.12 and bug_825.py . The crash is deeply hiding in Qt6.
** [https://bugreports.qt.io/browse/PYSIDE-2652 PYSIDE-2652] Fixed an int overflow
** [https://bugreports.qt.io/browse/PYSIDE-2649 PYSIDE-2649] Work on building without OpenGL
** [https://bugreports.qt.io/browse/PYSIDE-2653 PYSIDE-2653] Fixed a syntax error in type hints


===21. March 2024===
=== 13. February 2025 ===
* General
* General
** Ideas to improve the module.
** Did you know Shiboken translates into "Death Sword"? 死某剣
** Most of the team is going on vacation the following weeks.
** QtCS happening after QtWS in Munich in early May.
** Qt Design Studio integration (internal presentation) with Python to be prepared.
* Infra & Releases
* Infra & Releases
** 6.7.0 to be released the first week of April [delayed]
** Windows on ARM research continues.
** 6.2.12 Commercial LTS to be release in the following days [delayed]
** QtDS wheels to be updated for the new release
** 6.6.3 to be release next week [delayed]
** 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
* Bugs & Features
** 6.8 adaption patches are being worked
** Flatpak issue was solved (cleanup)
** PYSIDE-2638 fix crash QLayout when None is passed
** Brainstorming ideas for QML Next (preparing internal presentation)
** Documentation updates: for tooling and examples.
** Android wheel names to be adapted https://packaging.python.org/en/latest/specifications/platform-compatibility-tags/#android
** QtRhi missing API provided
** Qt Creator finishing .toml support for Python Projects.
** Memory leak regression being worked out
** Qt DS Python changes ready to be merged
** Shiboken Qt namespaces patches being cherry picked to previous versions.
*** Tutorial changes to be prepared
** Android deployment and qml tool documentations
** Type hints heuristic evaluation in order to address newly found issues related to overloads with similar shape.
** Android wheels generation on the CI process is being improved.
** Handling of value-types in shiboken (refactoring, new features and doc)
** Debugging deep into Nuitka to understand a problem with the lazy loading functionality.
** PYSIDE-3005 OpenGL issues were fixed
** QAsyncio bug fixed
** PYSIDE-3013 Font issue was fixed
** Adding more tools docs pages for our tools.
** 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.  


===14. March 2024===
=== 6. February 2025 ===
* General
* General
** PyConDE schedule is out, don't miss Shyam's talk https://pretalx.com/pyconde-pydata-2024/talk/W7YDRX/
** We went to FOSDEM and meet many PySide users!
** Python 3.13.0a5 is out.
** Commercial / LTS naming on the Installer.
* Infra & Releases
* Infra & Releases
** 6.7.0 in preparation, docs adjustments and new pages will come. Branching on Monday.
** Reviewing our branching policies. There is interest in branching pyside-setup sooner.
** 6.2.12 LTS release in preparation.
** We might need to move the Android wheels to PyPI (Probably from 6.9 on)
** 6.6.3 will be release next week.
** 6.8.2.1 release is planned in order to fix the missing DLLs in Windows (MSVC)
** qtpip 0.1.1 to be released
*** cheery pick is missing for 5.15
** dev is already Python 3.8 free, and we support 3.9+ for 6.7+
** PySide6_DS 4.7 to be released in the next couple of weeks.
* Bugs & Features
* Bugs & Features
** Triaging and fixing issues in general: 2638 layout crash.
** Adding TOML support for Python projects in QtCreator
** PYSIDE-2690 namespaces support continues
** TypeHints new reports, trying to get an idea of what's causing the errors
** Lazy initialization got merged
** Issues in Flatpak: updating version, checking a cleanup issue. Addressing dependencies issues for optional packages.
*** New improvements might land in future versions
** QtQA internal scripting: Adapting an automatic wheel download.
** PYSIDE-2635 OpcUA example problem
** Size reduction
** PYSIDE-2633 remoteobjects issue
*** Move virtual function overrides. Only generated on the base classes.
** Using new icons on the examples
*** Discovered and fixed a few multiple inheritance with shiboken
** Testing libclang 18
** Snippets translation tool: Trying to add a feature to use fully qualified enums.
** QObject.connect bug when a callable is a QObject (workaround with manual overload)
** clang-tidy warnings were fixes
** QIOPipe implementation for QAsyncio (base in the Qt/C++ one)
** Handling value types on non-default constructors (inspired by 6.9 changes)
** New use cases for QAsyncio and aiohttp
** Discussion on moving away out internal building process to scikit-build
** permission API changes got merge
** Size reduction (folding approach): To publish first results soon.
** android wheel compilation was adapted for qt 6.7.0 (PR on python-for-android was merged)
** Supporting team member with pyi session to understand the internal mechanism.
** PYSIDE-1639 QLocale issue was fixed
** 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)


===07. March 2024===
=== 30. January 2025 ===
* General
** Participation in FOSS Backstage
* Infra & Releases
** 6.5.5 Commercial LTS was released
** 5.15.13 OSS Package will be released tomorrow
** qtpip 0.1.1 release delayed
** Python 3.8 deprecation is still pending due to CI configuration dependencies.
* Bugs & Features
** permission api changes are mostly merged, one pending https://codereview.qt-project.org/c/pyside/pyside-setup/+/536759/15
** all deployment fixes are in.
** lazy initialization work continues, and some issues were fixed already.
*** Ubuntu 22.04 | Python 3.10.2 |is showing an issue with scriptableapplication
** Continue implementing more API for QtAsyncio which is currently working well
** two pending change for 6.7.0 and 6.6.3 to be merged.
** PYSIDE-2590 qt namespaces support required a patch for Qt/C++
** PYSIDE-2619 gentoo issue with a build
** PYSIDE-2624 typing issue with '/' is being researched
** Qt Icon Teams issues were discovered
** PYSIDE-2602 virtual function research on a special signature
** One regression related to the QObject.connect changes.
 
===29. February 2024===


* General
* General
** Leap day!
** Documentation changes
* Infra & Releases
* Infra & Releases
** 6.7.0 will drop support of Python 3.8
** Preparing 6.8.2
** 6.5.5 to be released in the following days
** 6.7.0 RC marks our feature freeze, some exceptions will be discussed in order to release on time.
** qtpip 0.1.1 to be released soon for new indexing and shiboken_wizard package
** General update of Python versions in our CI configuration is being planned (for dev-6.7)
* Bugs & Features
* Bugs & Features
** PYSIDE-2599 QMatrix3x3 issues with QVariant
** Size reduction [https://bugreports.qt.io/browse/PYSIDE-2701 PYSIDE-2701] : Implemented code reuse for Python overrides of virtual functions
** PYSIDE-2605 Embedding an application, using .style() - qAPP
** QtPythonScripting: continue working on multiple inheritance, added more widgets
** PYSIDE-2590 QT_NAMESPACES support
** Size reduction: PYSIDE-2701 Folding progress: We can now combine multiple foldings of the same function. This will bring some more reduction.
** PYSIDE-2602 clash on signature for QtWebEngine returning tuple
** Simplebrowser example updated
** Preparing 6.5.5 and 6.7.0 releases.
** adding imageviewer docs
** PYSIDE-2612 CMake issue from Anaconda builds when find_package
=== 23. January 2025 ===
** macOS permissions changes are almost all merged
** Windows BTLE services crash
** QIO-class are required for some new QAsyncio API using pipes
** Lazy loading moving forward, but still a few issues are around
*** A couple of shiboken tests seems to have outdated imports that are not helping.
*** shiboken compatibility types missing
** Typing issues being solved in order to improve the pyi quality


===22. February 2024===
* General
* General
** Brainstorming discussion about new JIRA items.
** [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
* Infra & Releases
** 6.6.2 was released!
** Windows on ARM configuration testing.
** qtpip getting a new minor version in order to be able to install new shiboken wizard
** 6.8.2 scheduled release next week, and branching will happen today.
* Bugs & Features
* Bugs & Features
** Permission API issue failing on the release framework. QtLocation problems were addressed.
** QtPythonScripting: continue working on Stable ABI support and multiple inheritance
** QtAsyncio blog post was published.
** [ext] 6.9 Designer release issues with macOS drag and drop + bug fixing
** Definition of done for QtAsyncio story, some functions will be implemented, but other ones (until reaching the whole set of user facing API) will be implemented in the future.
** PYSIDE-2990 Slot Executed in Signal's Thread Even With Auto & QueuedConnection
** Lazy initialization of numpy support in PySide, to improve the general lazy loading effort.
*** People is getting the documentation from an outdated wiki page, which is causing new reports.
** Starting documenting pyside6-* tools
*** Wiki will be updated.
** PYSIDE-2610 Qt3D issues
** Size reduction: we generate a lot of code for parsing keyword arguments. The code was moved to libshiboken and the size was reduced 3%
** 6.7 adaption was a lot of work, namespaces were something tricky.
*** Optimization reviews: it seems it's only the virtual functions, but not the actual bindings.
** 6.7 changelog drafted.
** Size reduction: Windows is giving some issues for special characters, which seems to be also present in Linux.
** Started to improve the type hinting issues.
** 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.


===15. February 2024===
=== 16. January 2025 ===


* General
* General
** Brainstorming session was held.
** 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!
** Europython Call for Proposal is open!
* Infra & Releases
* Infra & Releases
** 6.6.2 release waiting for Qt/C++ packages to be done.
** 6.8.2 will be released on 23th January so far, so we expect providing the wheels in the following days.
** Commercial 6.5.5 LTS to be out next week.
** 3.13 on the CI still on-going.
** Some improvements to the CI and macOS behavior
** 6.5.4 OSS released
** Cherry pick bot on commercial repositories.
* Bugs & Features
* Bugs & Features
** singleShot changes are merged, keep an eye on strange behavior.
** Discussion about QJni* bindings when cross compiling.
** 6.7 adaption: metaobjectdump improvements
*** It did built (and installed) for aarch64 and x86_64 but armv7a will be tried later on.
** 6.6.2 fixes with the commercial shibokenwizard
*** The main issue with this story was that it was bindings only for cross compiled pyside
** lupdate support for pyside improved (qm files)
** Exploring toml compatibilities within QtCreator
** pyside6-project problems with dry-run were fixed. Some improvements planned.
** DS patches still needs review.
** CI android wheels upgrade [skip armv7 in the meantime]
** Binary size work continues
** Lazy imports research continues, we see lots of improvements on apple M* devices.
*** 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 ===
===8. February 2024===


* General
* General
** We got a PyConDE 2024 talk accepted (python -> android deployment)!
** FOSDEM 2025: Qt got a stand!
** Internal Hackathon going on.
* Infra & Releases
* Infra & Releases
** Addressing some issues with the android wheels
** https://download.qt.io/official_releases/QtForPython/ got restructured and it's now very tidy
** 6.6.2 got delayed until next week
** Preparing 6.8.2
** Preparing for the 6.7 switch on dev
** 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
* Bugs & Features
** macOS: permission api patches ready for review
** [https://bugreports.qt.io/browse/PYSIDE-2966 PYSIDE-2966] Disabled instantiating non-instantiable classes
** singleShot patches merged
** [https://bugreports.qt.io/browse/PYSIDE-1735 PYSIDE-1735] Examples and tests were ported to use fully qualified enumerations
** Lazy initialization was finished, and ready for discussion.
** Python Scripting continues (enable adding __repr__ functions)
** Check compatibility with the new REST module (from Qt/C++)
** Discussion about QJni* bindings when cross compiling.
** Preparations for 6.7 continues.
*** 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.


===1. February 2024===
==2024==
 
* General
** Interest from KDE to enable flatpak packages (maybe base pyside app).
** Discussion on adding more tutorials of specific functionality.
** CI Maintenance Break next Monday (first Monday of each month)
* Infra & Releases
** no unity build discussion and checks
** 6.6.2 to be released next week.
** More granularity on the commercial wheels: shiboken wizard wheel.
* Bugs & Features
** singleShot timer implementation (to use underlying c++ impl) - still an issue with a context object, and a signal as a functor. A new QObject::connect might handle the situation. More changes to come in order to fix newly discovered issues.
** Android: using the master branch on python-for-android, and other changes related for macOS deployment.
** PYSIDE-2597 optimization for the deployment procedure
** Lazy initialization: works continues, and it's looking good. 13 bugs to go on lazy mode. The new implementation seems to be working better.
** 6.7 adaptation still in progress (many changes from Qt)
** General documentation adjustments
** Improvements on shiboken: better error messages
** Qt Namespaces compatibility attempts.
** Moving away from a couple of setup.py options towards pyproject.toml after upgrading 'build' to 1.0.x
** Design Studio compatibility wheel work continues
 
 
===25. January 2024===
 
* General
** Configuring additional embedded devices for RTA
** Focus on spending some time on embedded linux, in order to see usability, and compatibility with Boot2Qt images.
** Conferences: submissions to PyCon SK, PyCon DE, PyCon LT, PyCon US
* Infra & Releases
** Decouple of the commercial wheels in order to have a finer granularity and simpler tree on the Qt Installer (Maintenance Tool)
** Qt for Python 6.6.2 is waiting for Qt to be released (by the end of the month)
** The next 5.15.13 LTS open source release will include a new fix for a missing symbol (PyIndex_Check)
** New CI configuration without '--unity' for manual testing, to spot issues.
* Bugs & Features
** VS Code will use .flake8 (formerly setup.cfg) file for configuration once merged
** PYSIDE-2575: Added a new argument to QtAsyncio to configure whether the QCoreApplication at the core of QtAsyncio should be shut down when asyncio finishes (requested by user).
** SingleShot timer issue: Slight "complexity explosion" because correct implementation for one case requires implementation of QObject.connect overload with context arguments (and we implement QObject.connect ourselves, see PySide::qobjectConnectCallback).
** Scripting: code simplification, and massage it to a Qt module.
** Documentation updates to fix issues we had.
** Unity build some issues when building without.
** 6.7 updates, adapting some warning messages
** QTBUG-99313 related issues
** macOS permissions: made an example to work (for deployed apps) - patches incoming
** Android wheels provisioning and configuration in order to generate the base-wheels.
** armv7 complications due to an upstream find_python command.
** Lazy initialization: re-wrote approach from scratch, to reduce the patches to one that can be analyzed easily. Some complications with this approach that needs to be improve. It can be tried with https://codereview.qt-project.org/c/pyside/pyside-setup/+/496118
*** https://peps.python.org/pep-0690/ was rejected, but the idea can be implemented per-module
** Moving entry_points declaration to pyproject.toml from setup.py
** Drop the bdist_wheel steps from the CI (old wheels)
** Started working on split commercial wheels, wheels for QtDS and examples on QtCreator.


===18. January 2024===
*[[Qt for Python Development Notes 2024]]
 
* General
* Infra & Releases
** Commercial LTS 6.2.11 was released
** Add missing tags OSS LTS 5.15.x
** 6.6.2 scheduled by the end of the month
** Release documentation to be written to have tasks on JIRA
* Bugs & Features
** Python Scripting: looking into stable API, and cleanup
** PYSIDE-2577 doxygen issue
** PYSIDE-2570 closing some roadmap items
** Polishing documentation to use more sphinx directives
** Qt 6.7 adaption
** Addressing some flake8 issues in the build_script
** macOS permission API work continues: limitation for interpreted script, only compatible when deployed. Working around nuitka.
** singleShot: trying to solve a corner case when no sender is specified (for using the C++ function directly)
** Fixing some CI problems with 3.11 -> 3.12 changes.
** PYSIDE-2404 adding more information regarding the lazy evaluation, new approach might work.
** pyside6 is now an official recipe on the python-for-android!
** Improvements to the doc build process
 
===11. January 2024===
 
* General
** Hackathon at TQtC
** CI process presentation
* Infra & Releases
** Commercial LTS 6.5.4 release starting (to be finished today)
** Commercial LTS 6.2.11 still pending release
** 6.6.2 schedule by the end of the month.
** CI still showing some issues after the maintenance break.
** Update of the Python versions are pending.
* Bugs & Features
** Fixing a few small issues with QtAsyncio
** Documentation for the QtAsyncio is currently in review.
** New behavior for singleShot (relying on the C++ impl)
** macOS request permission API work continues.
** 6.7 adaptions patches
** M2M fixes on the current impl
** Native interfaces were added (new ones) to public headers
** favicon issue with out docs
** Making our doc diagram generation optional
** Improvements for the doc build process
 
===04.January 2024===
* General
** Happy new year fellow readers :D
** New OKR organization
** Keeping in an eye on Conferences
** PyPy is now on 3.10
** Ideas on the wheel organization for the Qt Installer
* Infra & Releases
** CI Maintenance break continues. Some new issues were discovered.
** Pending releases: 6.2.11 and 6.5.4
** Android [https://download.qt.io/snapshots/ci/pyside/test/Android/aarch64/ wheels for testing] purposes are available (not for production)
** Xcode issues with a new M3
** Planning the inclusion of Python 3.12 in the CI
* Bugs & Features
** async: A few bug fixes were pushed and ready for review
** async: the module is missing from our docs
** async: we have been getting some interests from users, so new issues are appearing.
** new android tag added to the examples for a better browsing
** pyside6 designer pyenv crash was fixed
** pyside cmake module update crash was fixed
** working on the request permission API for macOS
** docs: free functions as separate section and other improvements
** Python scripting in c++ works continues
** PyPy 3.10 compatibility patches
** nogil: working again on a compatibility with PEP703
*** locking mechanism for our modules.
** Typing adjustments, we need '/' in our signatures due to not having keywords parameters.


==2023==
==2023==

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
  • 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
    • 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.

2024

2023

2022

2021

2020

2019

2018