Difference between revisions of "Qt for Python Development Notes"

From Qt Wiki
Jump to: navigation, search
 
(130 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
[[Category:Qt for Python]]
 
[[Category:Qt for Python]]
== 2019 ==
+
== 2020 ==
 +
 
 +
==== 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 ====
  
==== 7. February 2019 ====
+
* CI status and issues with the Qt provisioning 5.12
- Fixed 5.13 deprecation warnings (which unearthed that we had a dependency on QString::isNull() vs isEmpty() in shiboken)
+
** 5.12.7 release will take more time to add new features.
- Fixed a large number of shiboken code generation warnings (revealing some issues)
+
** 5.14 has some issues with OpenGLFunctions.
- Provided s solution for one issue mentioned at PYSIDE-725 (apparently Sharon Woods from US is involved in some consulting?)
+
* Documentation: Interest for the new shiboken2 documentation structure and usage of the ApiExtractor.
- Will start formal release tag marking in Jira (matching Qt style)
+
* Python 3.8 compatibility with older branches.
- Data visualization tutorial fixes
+
* 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]
- Talking about further integration of existing examples into general docs
+
* Suggestion about iterations a-la-python https://bugreports.qt.io/browse/PYSIDE-1216
- [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803] further investigation - no conclusion yet
+
* Events
- [https://bugreports.qt.io/browse/PYSIDE-921 PYSIDE-921] fixed
+
** Qt World Summit 2020 Palm Springs
- [https://bugreports.qt.io/browse/PYSIDE-816 PYSIDE-816] investigated - fix seems at hand
+
** PyCon US
- restructured cmake files adding a master cmake file (simplifies opening of project in IDEs)
 
- worked on Homebrew issues
 
- fixed issue where Q_PROPERTY flags were not properly passed on to Qt
 
  
==== 31. January 2019 ====
+
==== 30. January 2020 ====
- Preparing 5.12.1 release
+
* 5.14.1 release rolling
  - Packages are looking good, likely to be released at same time as Qt 5.12.1 release
+
* Work on [https://bugreports.qt.io/browse/PYSIDE-1204 PYSIDE-1204]
- Submitted class bindings of Qt RemoteObjects for [https://bugreports.qt.io/browse/PYSIDE-862 PYSIDE-862]
+
* Work on [https://bugreports.qt.io/browse/PYSIDE-1191 PYSIDE-1191] PySide2 5.14 source now builds against Qt 5.12 as well
- Added classes QWebEngineHistory, WebEngineHistoryItem with required fix [https://bugreports.qt.io/browse/PYSIDE-906 PYSIDE-906]
+
* Further research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
- Have calls to method annotated as deprecated issue a warning
+
** full instrumentation of generated source for tracing,
- Fixed warnings, prepared Qt 5.13 bindings (based on current 5.13 API additions)
+
** discovery of new hooks to support. Still in flux.
- Looked into [https://bugreports.qt.io/browse/PYSIDE-816 PYSIDE-816], [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
+
* Fixed some issues of Python 3.8 (most prominently warnings about implicit conversion to integers for QFlags), will be fixed in 5.14.2
- Data visualization tutorial added
+
* 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.
- working on ways of substitution of C++ specific terms in docs against Python equivalents (e.g. nullptr and bool)
 
  
==== 24. January 2019 ====
+
==== 23. January 2020 ====
- Release branch for 5.12.1 exist
+
* 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
  - There was some issues in CI with 5.12 branch earlier this week and it was pretty much blocked. All issues should be solved now.
+
* Research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
- Prepared class bindings of Qt RemoteObject for PYSIDE-862 for review
+
* 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]
- Some creativity to keep integrations going due to COIN issues
+
* Improved the view of compare app for [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
  - Investigation of PYSIDE-803 is ongoing. The issue needs deep analysis to isolate the problem.
+
* Analysis of PyQt5 and SIP implementation
  
==== 17. January 2019 ====
+
==== 16. January 2020 ====
- Fixed PYSIDE-908, further investigation into PYSIDE-803 (free threading)
+
* CI/macOS problems are being worked.
- QfP 5.12.1 release being prepared
+
* qApp fix waiting to be merged.
- PYSIDE-797 (uic change ready for review)
+
* first attempts to tackle [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
- PYSIDE-862 (Qt RemoteObject module support)
+
* Python 3.8 fix to old branches is required for distributions using 5.12 LTS like Conda.
- PYSIDE-634 being fixed
+
* Working on Q_ENUM support.
- started to look at true cross compilation (PYSIDE-802)
+
* 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.
- Improving Qt Creator project template support (QTCREATORBUG-21824)
 
  
==== 10. January 2019 ====
+
==== 9. January 2020 ====
- Scope for Qt for Python 5.13 release
+
* [https://bugreports.qt.io/browse/PYSIDE-1185 PYSIDE-803] needs to be tackled soon, it's critical, and we cannot carry that into Qt6.
  -> relevant tasks marked with Fixversion 5.13 in bugreports.qt.io
+
* Python 3.8.1 on Windows has [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285797/ some issues] while building.
  -> feature freeze for Qt for Python 5.13 (April 2019)
+
* qApp macro changes [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285655 discussion].
- looked into case of corrupted meta data of wheel
+
* documentation updates are still pending.
- supporting named arguments for signals
+
* with the release of 5.14 we have been fixing many details from uic's Python support.
- some minimal support in Qt Creator to create a Qt for Python project
+
* designer's RUNPATH [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285712 needed to be patched], waiting for approval,
- bug hunting in 5.12.0 release
+
* A modular way of packing wheels is being studied.
- working on Pyside-797
+
* Re-take the Python extensions for QtCreator project evaluation.
- further analysis of PYSIDE-803, working on an implementation plan
 
  
==== 3. January 2019 ====
+
== 2019 ==
- Completed: Complete The Signature Introspection (PYSIDE-510)
+
* [[Qt for Python Development Notes 2019]]
- After the release there has been a couple of new reported bugs that we are working on:
 
  - There was some outdated documentation issue regarding Slots()
 
  - A couple of issues with multiple inheritance like: PYSIDE-868
 
  - and with QPlainTextEdit PYSIDE-886
 
- Restarted investigation of PYSIDE-803
 
  
 
== 2018 ==
 
== 2018 ==
  
 
* [[Qt for Python Development Notes 2018]]
 
* [[Qt for Python Development Notes 2018]]

Latest revision as of 12:35, 26 March 2020

2020

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

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 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 PYSIDE-1204
  • Work on PYSIDE-1191 PySide2 5.14 source now builds against Qt 5.12 as well
  • Further research on 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 PYSIDE-1178 PYSIDE-1158 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 PYSIDE-803
  • Proposed an "until" attribute for typesystem files to make it possible to build Pyside 5.14 against Qt 5.12 PYSIDE-1195
  • Improved the view of compare app for 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 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 PYSIDE-803 is ready to try. Please check out https://git.qt.io/playground/pyside-compare.git and give feedback.

9. January 2020

  • PYSIDE-803 needs to be tackled soon, it's critical, and we cannot carry that into Qt6.
  • Python 3.8.1 on Windows has some issues while building.
  • qApp macro changes 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 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

2018