Qt for Python Development Notes: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
(41 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Qt for Python]]
[[Category:Qt for Python]]
== 2020 ==
== 2021 ==
 
==== 25. June 2020 ====


==== 21. January 2021 ====
* Infra update
* Infra update
** Release of the second set of Windows 64bit wheels.
** 'dev' branch seems to be the only broken (maybe 5.15)
** Issues on the CI due to some internal issues, everything should be running soon.
** Provisioning is affected
* (in progress) from __future__ import newapi
** need to create lts-5.15 branch for commercial releases
** it's tricky to provide snake_case instead of camelCase
** WinRT is broken (at a Qt/CI level)
** issues with tp_getattro
* Bug fixes
** creating modified Python objects to replace the original types at runtime
** https://bugreports.qt.io/browse/PYSIDE-1458 Discussion about macOS symlinks
* (in progress) from __future__ import newproperties
** (in progress) https://bugreports.qt.io/browse/PYSIDE-1481 __feature__ documentation
** Still many things to go
** (in progress) https://bugreports.qt.io/browse/PYSIDE-1476 PySide Property declaration creates properties with the setter name of the function
* PYSIDE-1282 pthread crash solved, and will be merge in 5.14
** (in progress) https://bugreports.qt.io/browse/PYSIDE-1347 constructors info in the stubs (other issues appeared)
* Indentation fixes for generated code. Prefix adaptation for a standard format so it can be loaded in QtCreator (from warning and stuff)
* Features
* Qt for Python 6 is partially working in some platforms
** Rename internal shiboken import: 'from shiboken6 import shiboken6 as Shiboken' -> 'from shiboken6 import Shiboken'
** Still many missing modules,
*** Both options in 6.1,
** CMakeLists.txt files needs some love,
*** Only 'from shiboken6 import Shiboken' from 6.2 on.
** Needs to adapt CI for the new dev branch
** Designer plugin: set environment in the launcher script (instead of the rpath option)
** Windows has some issues still :)
** Removing extra QtCharts namespace (it  was removed in Qt) -> QtDataVisualization?
* libclang situation, are we sharing the same version for qdoc, qtcreator, qt, etc...?
*** Externals helping the migration process.
** Need to check in case we decide to update
** https://bugreports.qt.io/browse/PYSIDE-1477 clang options for shiboken cross build
* Commercial wheels split progress
* Starting work on new tutorials and applications (Data Science and visualization)


==== 18. June 2020 ====
==== 14. January 2021 ====


* Qt Bug fixing week
* Infra update
* Infra update
** The new windows wheels still had some issues, it seems the latest are OK, and we would need to publish '_2' wheels.
** Missing 5.15 merge to tqtc
** Some issues with macOS builds for 5.15.0
* Bug fixes
* Qt6 compatibility
** https://bugreports.qt.io/browse/PYSIDE-1470 fixed
** This is stopping the improvements in the QML integration story
** https://bugreports.qt.io/browse/PYSIDE-1347 in progress
** We need this merged before continuing https://codereview.qt-project.org/c/qt/qtbase/+/301979
* Features
* Merged a bug fix to 5.12 (the CI was not broken)
** Contacting people at other IDEs groups to provide a better PySide support. (to create a user story)
* (in progress) Qt6 Properties camelCase to lower_case
** NumPy support to accept numpy.array as 'some' Qt types
** Not a trivial task
** Designer plugin works continues (needs libshiboken) https://bugreports.qt.io/browse/PYSIDE-1455
** It's possible to rename dynamically functions, and other things.
* Webinar ideas
** Containers needs to be taken care too
** __feature__ and Python properties
** Having more than one object with the same ID is challenging
** Interaction with other modules
** Issues with str based objects
* Fixed PYSIDE-1332, PYSIDE-1327
* (in progress) Commercial wheel are almost ready on Linux, later some changes for Windows and macOS are required.
* (in progress) WigglyWidget example almost there
* (in progress) New StyleSheet tutorial.
==== 11. June 2020 ====


* Infra Update
==== 7. January 2021 ====
** MSVC 2019 DLL issue with 5.15.0, we shipped a DLL that was too new. (https://bugreports.qt.io/browse/PYSIDE-1323)
** A new set of wheels will be available for Windows users (without a modern MSVC)
* QEnum implementation
** Waiting for review
** Qt5 compatible
** QFlag is also exposed
* Research: Qt6 Properties camelCase to lower_case
** https://bugreports.qt.io/browse/PYSIDE-1019
* Started to fix missing types information: https://bugreports.qt.io/browse/PYSIDE-1318
* Fix memory leaks in property accesors (https://bugreports.qt.io/browse/PYSIDE-1321),
* Fix code generation bugs (https://bugreports.qt.io/browse/PYSIDE-1325)
* Incremental wheels
* Missing pyside2uic features
* Backports for 5.12
** Ask Gerrit admins
** Try one last patch.


==== 4. June 2020 ====
* Infra update
 
** libclang install fixes (issues related to 6.0 and 10.0)
* CI Update
*** from the MSVC update, we require 10.0 for 5.15 and 6.0
** Limited API reports work
* Bug fixes
** Improve integrations on macOS
** PYSIDE-1447 qapp flag
* Documentation updates for Qt Assistant
** PYSIDE-1463 snake_case init issue
* PYSIDE-1257 cx_Freeze issues seems to be related to cx_Freeze itself.
** PYSIDE-1470 shiboken delete qapp
* Q_ENUM and QFlag will be soon available.
** PYSIDE-79 reopened due to a leak introduced by the fix to PYSIDE-68
* New Shiboken example to expose a custom Qt Widget to Python
* loadUiType is back into PySide (relies on pyside2-uic on PATH)
* Other bug fixes.
 
==== 28. May 2020 ====
* Releases
** 5.15.0 and 5.14.2.2 were released :) https://www.qt.io/blog/qt-for-python-5.15.0-is-out
** Thoughts about 5.14.2.3
** 5.15.1 release is still not defined
* Documentation
* CI Status
** The limited-api check was somehow bypass by one specific patch https://codereview.qt-project.org/c/pyside/pyside-setup/+/298845 We need to keep an eye to avoid this in the future.
* Backlog status [https://bugreports.qt.io/secure/RapidBoard.jspa?rapidView=262&view=planning.nodetail&selectedIssue=PYSIDE-463&issueLimit=100 check it here]
* QML Integration update
** We are working on finishing the implementation of Q_ENUM, to be able to use the singletonType registration
** Additionally, we are looking into the uncreatableType registration too.
* Development branch for Qt6
** We need the following before jumping into dev.
*** QList/QVector
*** QString -> integrated (clarity)
 
==== 21. May 2020 ====
* '''Holiday'''
 
==== 14. May 2020 ====
 
* CI Updates
** CI blocked due to some provisioning issues in red hat
** 5.14.2.2 Release is on hold
** 5.15 commercial release in preparation
** License check
* 5.15 Release
** Pickling changes
** Examples
** loadUiType
* Tutorials rcc, designer
** Add project's tutorial.
* Continue research of using Qt6
* __qualname__ attributes are almost done
** This changes was required for the pickling support.
 
==== 7. May 2020 ====
* CI Updates
** Issues with the provisioning, for example the connection with PyPi, still in progress.
** We will add a requirements.txt for provisioning.
* Issues
** PYSIDE-1255 Signal not reached in QML
** Pickling Qt Enums PYSIDE-15
*** Almost finished, but we are waiting for PYSIDE-1285 to be fix (modulename, qualname).
** Many other minor bugs have been fixed, but still there are a couple of strange ones.
** First attempts to build shiboken with Qt6
** Ideas repo re-organization
* Features
* Features
** Commercial addons
** Possible research PYSIDE-163
** Tutorials
** Refactoring shiboken
*** rcc
** PYSIDE-1455 designer plugin
*** uic
** Snippets translators
*** QTranslator (*)
** Deployment story for PySide6
*** ...
** QtAssistant integration
** loadUiType
** The new way of registering QML properties needs to be applied to the code base.


==== 30. April 2020 ====
== 2020 ==
* CI Updates
* [[Qt for Python Development Notes 2020]]
** Issues with pip upgrades
** Planning new Python versions for new configurations.
* Update on bugs still around after 5.14.2.1
** 1271: Deadlock (fixed)
** 1255: Signal not reached in QML (still in progress)
** 1280: Research
* Features
** QML interaction
** Q_ENUM and pickling SbkEnum
** Commercial Addons
 
==== 23. April 2020 ====
* 5.14.2.1 Release
* New bugs around threading:
** https://bugreports.qt.io/browse/PYSIDE-1271
** https://bugreports.qt.io/browse/PYSIDE-1255 needs to be reopen.
* Documentation changes around the replacement of the old pysideuic module
* Q_ENUM update
** How to get a reference from the QMetaObjectBuilder without a QObject based project?
* mypy compatibility
** depends a bit on the Q_ENUM
 
==== 16. April 2020 ====
 
* Plan for 5.14.2-1 release
* Research on Pickling support, PYSIDE-15
* Provided fix for PYSIDE-1267  related to efforts of exposing QScintilla
* Object dumper to help debugging python implementations
* Debugging options for the code model.
* pysideuic old functionality into the QUiTools module
** compileUI
** loadUiType
* Q_ENUM discussion
 
==== 9. April 2020 ====
 
* Most bugs reported in 5.14.2 are fix on 5.14
** Preparing the process for the release of 5.14.2-1
** Check about versioning on pypi to not override 5.14.2 wheels.
* PYSIDE-813 is now fixed
* PYSIDE-1255, Signals not being emitted.
* Working on Q_ENUM
 
==== 2. April 2020 ====
 
* 5.14.2 is out:
** keep an eye on new bug reports.
*** https://bugreports.qt.io/browse/PYSIDE-1253
*** https://bugreports.qt.io/browse/PYSIDE-1254
*** https://bugreports.qt.io/browse/PYSIDE-1255
** The new documentation is out too: https://doc.qt.io/qtforpython/
* 'manylinux1' discussion
* CI status
* 'loadUiType' status https://bugreports.qt.io/browse/PYSIDE-1223
** two approaches for it, a Python and another in C.
* PYSIDE-813
** Finding where the reference is gone, but there is the only issue left.
** All the other issues were solved.
** A solution should be out soon.
* Research on adding Python support for Qt's lupdate: PYSIDE-1252
 
==== 26. March 2020 ====
 
* 5.14.2 Release
* OKRs Update
** Looking for commercial opportunities
* PYSIDE-813 new discoveries found:
** There are a couple of issues with one of the PYSIDE-803 patches that will be solved soon.
** PYSIDE-164 is out of the picture
* Lambda functions for QWebEngineCallback PYSIDE-946 so we can expose the missing bindings.
* QVariant conversions tweaks PYSIDE-1250
* Working on adding 'loadUiType' into PySide PYSIDE-1223
* Research on adding Python support for Qt's lupdate: PYSIDE-1252
 
==== 19. March 2020 ====
 
* 5.14.2 Release preparations
* Work on Widget gallery example
* Done: Refinements to wheel-tester.py
* Done: Reworked test_wheel.py for macOS
* Done: Fixed PYSIDE-1247 signature warning in Python 3.6
* In progress: Instrumentation of PYSIDE-164/813
 
==== 12. March 2020 ====
 
* CI Status
** Everything up and running
** 5.14.2 to be released next week hopefully.
* PYSIDE-803
** Almost there!
** retrieveMetaObject improvements.
** We will try to test it without the allow-thread patch to evaluate performance.
* PYSIDE-813
** we will keep PYSIDE-164 open until we find a solution that fixes both.
* Starting to evaluate std::function compatibility with Shiboken.
 
==== 5. March 2020 ====
 
* CI Update
** Including Python 3.8
** Maybe using alternatives to have many Python versions.
* Priority bugs
** PYSIDE-803
*** major changes in (caching)
*** still other minor patches to be merged.
*** allow-thread patch has a bug, maybe this can be detach from the snippets one.
** PYSIDE-813
*** PYSIDE-164 appears again if we fix it,
*** Maybe a solution is to fix 164 in another way.
* 5.15 feature status
* Changes for Qt 6
** Changes in the [https://codereview.qt-project.org/c/qt/qtbase/+/284225 QMetaType representation]
*** Reference of the [https://codereview.qt-project.org/c/qt/qtdeclarative/+/285788 new system in qtdeclarative]
** Wishlist for [https://bugreports.qt.io/browse/PYSIDE-904 Qt6 opportunities]
 
==== 27. February 2020 ====
 
* CI Updates
** 5.12 cherry-picks
* qApp
** Deprecation message or alias (when using QtWidgets.qApp)
* PYSIDE-803
** Missing patches to be merged
*** Python 2.7 issues
*** allow-thread commit message (add a changelog)
*** second caching mechanism to be studied after we merge the first set of patches.
*** Third attempt after the stackless gilstate approach
** Documentation
* Python 3.8 testing is still being worked out
 
==== 20. February 2020 ====
 
* CI Updates
** Cherry-picking some changes to 5.12 to fix the virtualenv 20 issues.
** macOS timeouts
** possibility of merging simple changes directly.
* qApp issues
** Patches ready for review
* PYSIDE-803
** Patches needs some polishing
* Testrunner improvements
** stdout/stderr issues with ctest on windows
** smart pointers tests crashing, due to qApp issues.
** Python 3.8 is also giving problems (DLLs missing)
** debug builds on windows does not work.
* Shiboken documentation being reorganized
* Starting testing Python 3.9
 
==== 13. February 2020 ====
 
* CI updates
** Windows package signing will be possible, hopefully soon.
* Documentation updates
** Example gallery
** WebChannel example merged,
* Python 3.8 changes on Windows are still being tackled.
* Bugs
** PYSIDE-803 status: A patch waiting for review is there, but we need to combine it with the other solutions we currently have. Still, there are some corner cases where the problem is not properly solved.
** qApp issues to be solved, but we will remove the import features. qApp will remain as a built-in.
* OKRS 1Q/2020
 
==== 6. February 2020 ====
 
* CI status and issues with the Qt provisioning 5.12
** 5.12.7 release will take more time to add new features.
** 5.14 has some issues with OpenGLFunctions.
* Documentation: Interest for the new shiboken2 documentation structure and usage of the ApiExtractor.
* Python 3.8 compatibility with older branches.
* Updates on PYSIDE-803 [https://bugreports.qt.io/browse/PYSIDE-803?focusedCommentId=496894&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-496894 link]
* Suggestion about iterations a-la-python https://bugreports.qt.io/browse/PYSIDE-1216
* Events
** Qt World Summit 2020 Palm Springs
** PyCon US
 
==== 30. January 2020 ====
* 5.14.1 release rolling
* Work on [https://bugreports.qt.io/browse/PYSIDE-1204 PYSIDE-1204]
* Work on [https://bugreports.qt.io/browse/PYSIDE-1191 PYSIDE-1191] PySide2 5.14 source now builds against Qt 5.12 as well
* Further research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
** full instrumentation of generated source for tracing,
** discovery of new hooks to support. Still in flux.
* Fixed some issues of Python 3.8 (most prominently warnings about implicit conversion to integers for QFlags), will be fixed in 5.14.2
* qApp macro [https://bugreports.qt.io/browse/PYSIDE-1178 PYSIDE-1178] [https://bugreports.qt.io/browse/PYSIDE-1158 PYSIDE-1158] [https://bugreports.qt.io/browse/PYSIDE-1135 PYSIDE-1135] finally closed. One cleanup check in may follow.
 
==== 23. January 2020 ====
* Fix for CI/macOS problem is in, but it requires some merges in Qt5. Until all required merges are done, we will use Qt5 5.14.1 with Qt For Python 5.14
* Research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
* Proposed an "until" attribute for typesystem files to make it possible to build Pyside 5.14 against Qt 5.12  [https://bugreports.qt.io/browse/PYSIDE-1195 PYSIDE-1195]
* Improved the view of compare app for [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
* Analysis of PyQt5 and SIP implementation
 
==== 16. January 2020 ====
* CI/macOS problems are being worked.
* qApp fix waiting to be merged.
* first attempts to tackle [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
* Python 3.8 fix to old branches is required for distributions using 5.12 LTS like Conda.
* Working on Q_ENUM support.
* Viewer for [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803] is ready to try. Please check out https://git.qt.io/playground/pyside-compare.git and give feedback.
 
==== 9. January 2020 ====
* [https://bugreports.qt.io/browse/PYSIDE-1185 PYSIDE-803] needs to be tackled soon, it's critical, and we cannot carry that into Qt6.
* Python 3.8.1 on Windows has [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285797/ some issues] while building.
* qApp macro changes [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285655 discussion].
* documentation updates are still pending.
* with the release of 5.14 we have been fixing many details from uic's Python support.
* designer's RUNPATH [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285712 needed to be patched], waiting for approval,
* A modular way of packing wheels is being studied.
* Re-take the Python extensions for QtCreator project evaluation.


== 2019 ==
== 2019 ==

Revision as of 09:45, 21 January 2021

2021

21. January 2021

  • Infra update
    • 'dev' branch seems to be the only broken (maybe 5.15)
    • Provisioning is affected
    • need to create lts-5.15 branch for commercial releases
    • WinRT is broken (at a Qt/CI level)
  • Bug fixes
  • Features
    • Rename internal shiboken import: 'from shiboken6 import shiboken6 as Shiboken' -> 'from shiboken6 import Shiboken'
      • Both options in 6.1,
      • Only 'from shiboken6 import Shiboken' from 6.2 on.
    • Designer plugin: set environment in the launcher script (instead of the rpath option)
    • Removing extra QtCharts namespace (it was removed in Qt) -> QtDataVisualization?
      • Externals helping the migration process.
    • https://bugreports.qt.io/browse/PYSIDE-1477 clang options for shiboken cross build
  • Starting work on new tutorials and applications (Data Science and visualization)

14. January 2021

7. January 2021

  • Infra update
    • libclang install fixes (issues related to 6.0 and 10.0)
      • from the MSVC update, we require 10.0 for 5.15 and 6.0
  • Bug fixes
    • PYSIDE-1447 qapp flag
    • PYSIDE-1463 snake_case init issue
    • PYSIDE-1470 shiboken delete qapp
    • PYSIDE-79 reopened due to a leak introduced by the fix to PYSIDE-68
  • Features
    • Possible research PYSIDE-163
    • Refactoring shiboken
    • PYSIDE-1455 designer plugin
    • Snippets translators
    • Deployment story for PySide6

2020

2019

2018