Qt for Python Development Notes: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(32 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Qt for Python]]
[[Category:Qt for Python]]
== 2020 ==
==2021==


==== 29. October 2020 ====
====15. April 2021====
* Infra Update
** 5.15.2 in the horizon
* Qt6 efforts
** Catching up with the latest changes in qtbase and friends.
** Dropping support for Python 2 and 3.5
** Rename of shiboken2 -> shiboken6 (already merged)
** Transforming Macros into Functions on the CMakeLists files
* Bug fixing and Documentation
** Updating internal references
* Extra
** Participation in GNU Health Conference https://www.gnuhealthcon.org/2020-online/index.html


==== 22. October 2020 ====
* Infrastructure
* Qt 6 work
** Setting on track the content of OSS and commercial wheels.
* Refactoring shiboken2 for Qt 6
** Qt addons distribution will change in 6.1 and 6.2, so we need to keep an eye on that.
* Investigated [https://bugreports.qt.io/browse/PYSIDE-1408 PYSIDE-1408], [https://bugreports.qt.io/browse/PYSIDE-1410 PYSIDE-1410], no conclusions so far
** New macOS machines for the CI
* Implementation of class properties ready for review tomorrow, will be integrated in dev branch.
* Documentation update process to be improved.
* Solving issue with the deprecated wheel.pep425tags
* Bugs
* Updating documentation to include reference to new branches, build documentation, etc.
** There were some problems with the default encoding and the doc build process (python version related)
* QtWS20 Talk
** 1529 fixed, and other issues (QPointF), 1514 QPainter, 1503 QCharts.
* Features
** Improving examples to use new features and refreshing the code base.
** Performance examples to compare C++ and Python
** Reformatting some code base to use f-strings and warning
** New tutorials in progress based on Model View
** Internal Qt Hackathon
*** Focused on integration with matplotlib (Performance discussion)
*** Scripting C++ applications.


==== 15. October 2020 ====
====08. April 2021====
* No meeting


* Infra update
====01. April 2021====
** COIN configuration on macOS Python 2.7 'intel' is a bit weird and it fails for https://codereview.qt-project.org/c/pyside/pyside-setup/+/315756
** 5.15 will go to cherry-pick mode and 'dev' will become the default branch
*** This is motivated from the true_propery patches being merged
*** Some pending patches
* Trying to enable QtConcurrent methods (some)
** what about Python-only alternatives like https://docs.python.org/3.8/library/concurrent.html
* Bug fixes
** uic 'things' to  review for 5.15
** QtCreator templates bugs to be reported.
* Qt 6 Effort
** Still more work here...
** Examples, and dealing with the latest from dev
* Some embedded cross compiling effort


==== 8. October 2020 ====
* Deployment story
** Add new test for Nuitka (on macOS)
** Update the tutorials, since PyInstaller and cx_Freeze seems to be partially working on Qt6.
** Higher versions from macOS are more restrictive for the bundles that are generated. This leads to new breakage.
* Preparation for 6.0.3 release
* Bug
** PYSIDE-1523 Nuitka compile methods/functions is done
** PYSIDE-1338 Hiding confusing feature frame entries
** Wheel Tester to be improved.
* Features
** pathlib features still in progress.
** Porting more examples to snake_case
** Check snippets_translator tool.
** Make generate_pyi as a generic tool to be merged.
 
====25. March 2021====


* Infra
* Infra
** Timeouts maybe when the test_wheel hangs?
** Evaluation to change the wheel names to specify glibc version for 6.1
** Cache the wheels we install for the installation process, somehow.
** CI issues still with macOS
* PYSIDE-827 Commands help
* Features
** Complicated refactoring, but it's waiting for review atm.
** Refactoring examples (snake_case)
* Bugs fix
** Updating deployment docs.
** export macro issue
** PYSIDE-1523 Nuitka, support for compiled functions.
** experiment with QtConcurrent PYSIDE-1202
** PYSIDE-1415 make the generate_pyi more general
** PYSIDE-1098 getframe was not properly working with 1 as argument.
** PYSIDE-1449 pathlib compatibility
** (on hold for Qt6) PYSIDE-1019 Properties modified for static ones
** Improvements on the documentation, tutorials, and examples.
** fix static string leak
** Enabling snippet translator into the doc building process.
** PYSIDE-1128 QScintilla research
* Bugs
* Qt 6 efforts
** Fix crash from the new Network components.
** Fixing tests, and more.
** Triage and some other fixes.
** PYSIDE-1502 Compiling pyside2 with build target does not result in PySide2 `support` module being installed
** PYSIDE-1524 warning related to sprintf
** PYSIDE-1019 1038 hidden imports, properties, other fixes.
** There seems to be some problems with PyInstaller on macOS


==== 1. October 2020 ====
====18. March 2021====


* Infra
* Infra
** Still the 'usual' timeouts while installing Python requirements. Maybe we could fix this?
** CI has been showing some issues. 12h timeouts for macOS.
* Documentation
** Soon to have 6.1 branch
** Access .qch documentations files offline - https://bugreports.qt.io/browse/QTWEBSITE-944
** Synchronization of the commercial repository with latest Qt.
** Documentation fixes related to RST syntax and code snippets.
* Bug fixing
** [https://bugreports.qt.io/browse/PYSIDE-31 PYSIDE-31] no news, postponed
** [https://bugreports.qt.io/browse/PYSIDE-1075 PYSIDE-1075] Fixed
** [https://bugreports.qt.io/browse/PYSIDE-1326 PYSIDE-1326] Fix ready
* Features
* Features
** [https://bugreports.qt.io/browse/PYSIDE-1019 PYSIDE-1019] property support ready for Python property.
** Improving commercial tools.
** PYSIDE-1019 Property almost completely rewritten to pass the Python tests. Almost done.
** Finding issues and getting ideas to improve the docs.
** PYSIDE-1019 shiboken: It is also possible to have properties for projects not using the PySide2 extension
** Using new qttools directory
* Qt6 Port
** Add option to not copy qt tools to the wheel when building.
** Still adapting API changes
** pathlib compatibility patch still on-going
* Extras
** improvements to the documentation, adding 'doc' directory to each example.
** PySide Property turned out to be quite incompatible with Python properties.
* Bugs
** Ready to implement static Property.
** OpenGLFunctions issues (mailing list announcement)
** We might get some QA related help for the whole project :)
** PYSIDE-1520 Union types
** We will continue with  adding the command line options to the build/install steps
** PYSIDE-1514 Shiboken module movement patches had some issues, which will be fixed
** PYSIDE-1502 Working on improving the __feature__ option to make them safer in diff installation errors.
** PYSIDE-1019 feature import problem (found in PYSIDE-1338) waiting for review


==== 24. September 2020 ====
====11. March 2021====


* Infra
* Infra
** One strange error related to PYSIDE-1388
** 6.0.2 is out
** Trying to merge the change to test 3.8.1 on Windows too
** 5.15.3 still pending
* Bug fixing spree
** Trying to update dependencies for 6.1 (modules)
** PYSIDE-1017
** auditwheel (research, optional)
** PYSIDE-1224
** COIN seems to be acting weird, but generally.
** PYSIDE-665
** PYSIDE-1388
* Qt6 progress
** QML was working for some period
** Qt3D compiling
* overloadID feature for typesystems (order of overloads)
* PYSIDE-68
* Simplyfying the signature module
** motivated by the feature support
* PYSIDE-31
* Research Options update, replacing the ad-hoc class with argparse
** Include patch that display custom options into the distutils implementation
 
==== 17. September 2020 ====
 
* 5.15.1 released
* Qt 6 efforts
* Properties features submitted [https://bugreports.qt.io/browse/PYSIDE-1019 PYSIDE-1019]
* Bug fixing efforts, provided work arounds or fixes for
** [https://bugreports.qt.io/browse/PYSIDE-972 PYSIDE-972]
** [https://bugreports.qt.io/browse/PYSIDE-1212 PYSIDE-1212]
** [https://bugreports.qt.io/browse/PYSIDE-1354 PYSIDE-1354]
** [https://bugreports.qt.io/browse/PYSIDE-1367 PYSIDE-1367]
** [https://bugreports.qt.io/browse/PYSIDE-1381 PYSIDE-1381]
** [https://bugreports.qt.io/browse/PYSIDE-1383 PYSIDE-1383]
 
==== 10. September 2020 ====
* 5.15.1 release waiting for final
** blog post about some features
* Try a new python version on the CI
* Qt 6 efforts
** Adding back the tools (uic/rcc)
** New feature shiboken overload order
** Waiting for the properties features before moving 5.15 to cherry pick mode
** Major changes will get into dev as soon as we move 5.15 to cherry pick.
* Review repeated overloads from a Python point of view and remove the unnecesary ones.
* PYSIDE-74 is fixed, and now every object will have a __ne__ and __eq__
* testing:  Ensure that build dir precedes site-packages.
* Writable properties is still in development, and closer to be done
** what do we do with the internal pyside properties? TBD
* Akademy 2020 participation
** GNU Health uses PySide2!
** Kirigami for Python users
 
==== 3. September 2020 ====
* Infra update
** libclang 10 issue, we need a shared library, but the latest had static only.
*** Using the QtCreator one solved the issue.
** snapshots wheels broken atm
** Plan for 5.15.1
* True properties
** make static properties needed around 10% of the cases, it collides with limited api.
** new corner case for non-standard properties.
** Use in runtime the information from the Meta Object.
* Bug fixes
** https://bugreports.qt.io/browse/PYSIDE-1177 __doc__
** Doc build regression
** Nuitka compatibility
* Qt6 related work
** Adapting the latest state of qtbase
** Simplify our CMakeLists files to use what is provided by libclang
* QML breakage with the latest state of dev
 
==== 27. August 2020 ====
* Infra update
** Waiting on confirmation for 5.15.1 release
** Discard mingw config
** Include a Linux 64bit Python 3.8.x config
* True property features
** Basic implementation in-place with shiboken support.
** Tackling errors from the parser
** The data from ApiExtractor should be improved
** Pending tasks: (1) Support for static properties (~20-30), (2) add missing properties via some heuristic, maybe adding support for the typesystem special entries, and (3) improve support for the signature model.
* Bugs fixing
** Many old bugs closed, due to being fixed or invalid in newer versions.
** Prioritization plan for some of the remaining
** Important bug for the project https://bugreports.qt.io/browse/PYSIDE-478 we need a better error propagation.
* lupdate compatibility delayed
* QML interaction
** ListProperty was heavily improved, adding missing argument options and checks.
 
 
==== 20. August 2020 ====
* Infra update
** Fix for virtualenv problems on RedHat.
** Speed issues on the CI
** we still require a libclang update.
** Waiting for a date for 5.15.1
* (in progress) https://bugreports.qt.io/browse/PYSIDE-1019 (features properties)
* (in progress) https://bugreports.qt.io/browse/PYSIDE-1328 (static/dyn methods)
* Qt6 changes
** QStringRef replacement by QStringView
** Fixing broken tests
* Discussion around https://bugreports.qt.io/browse/PYSIDE-1363
** We could generate manylinux2014 wheels.
* Fixed some issues with ListProperty on the QML integration :)
 
==== 13. August 2020 ====
 
* Infra update
** dev is still open for direct submit.
** libclang 10 update keeps waiting fixes to qttools.
** The python3.8 test will get amended later today.
* Bug fixing
** Missing classes
** 3D related
** pyi incomplete
** QmlComponent deadlock
* (in progress) Qt Property access
** Issues with the binding manager (functions inside properties)
** The feature switching needs to be slower (no features, snake_case, etc)
* Planned work on 3.9 compatibility
* QML ListProperty in dev is broken
 
==== 6. August 2020 ====
 
* Infra update
** libclang versioning issues (we need 8+, we have 6)
** Adding Python 3.8.1 for Python (needs review)
* Research for commercial opportunities
* (in progress) Qt Property access
** prototype waiting for review
** some complications with inherited attributes/properties
** Class properties are a complication, since we need to make a difference with instance properties.
* (in progress) Shiboken initialization more verbose
** for Freezing tools.
* Check for signature/stubs documentation.
 
==== 30. July 2020 ====
 
* No meeting
 
==== 23. July 2020 ====
 
* Infra update
** 5.15 and dev -> Python 3.8.1 (Windows) => Working
** Some issues with some images.
* (needs review) Selectable features
** New example to test
** AL Completion issues
** signal/slots will remain camelCase at the moment.
* (in progress) Python 3.9 compatibility
** Signature module requires some work.
* (in progress) Qt 6 porting
** Issues with templates in Qt6
** QByteArrayView might be an issue
** Documentation needs qttools, it might work with cmake/qt6
* (in progress) QML interaction
** qmlRegisterSingletonType ready
** qmlRegisterUncreatableType is the next step
 
==== 16. July 2020 ====
 
* Infra update
** Updates on the Windows VM template to get some optimization.
** Getting Python 3.8.1 on Windows to test the latest minor version.
* (in progress) Selectable features
** COIN issues after the history log deletion (prune)
** Issues with the initialization on scriptableapplication (patch on gerrit)
* (in progress) PySide 6
** Progress being done in Windows and macOS
* QML update (on dev -> Qt6)
** Removed the limit to 50 types https://codereview.qt-project.org/c/pyside/pyside-setup/+/307424
** qmlRegisterSingletonType patch waiting for review https://codereview.qt-project.org/c/pyside/pyside-setup/+/307908
 
==== 9. July 2020 ====
 
* Infra update
** 5.14 issues related to virtualenv (but 5.14.2 works)
** dev is open for direct merges.
** 5.14.2.3 macOS needs review to be released.
** sdist packages WIP patch.
* Python 3.9b4 is out and we will try it out.
* (in progress) Selectable features
** new corner cases were found, so they are being tackled.
* (in progress) access Qt properties directly
** decide which are the properties at runtime.
** Maybe sources/pyside2/PySide2/global.h.in:41 can help
*** #define QT_ANNOTATE_ACCESS_SPECIFIER(a) __attribute__((annotate(#a)))
* (in progress) Qt6 compatibility
** Dealing with test failures.
** Issues OpenGLWidgets
** We need to update the MetaType registration mechanisms to start working on QML register types
 
 
==== 2. July 2020 ====
 
* Infra Update
** Timeouts issues, increasing it is not a solution.
** How to proceed with dev to use Qt6
*** merge without CI
*** clarify the yaml configuration
** 5.14.2.3 new release planned
* Selectable Features
** snake_case for camelCase names.
** (in progress) access Qt properties directly:
*** For 'label = QLabel("hello")', we could do 'label.text = "bye"' instead of using the 'label.setText("bye")'.
* Qt6 compatibility
** QML working on Linux (this will enable us to work on the registration)
* Some improvements in the documentation generation must be done to speed up the process.
* pyside2_config.py file to CMake
** include XConfig.cmake files on the wheel
* sdist package
** nice to have: pip install -e ., but at the moment we have three egg-info directories (error)
* Starting again with the cross compilation of PySide for embedded linux.
==== 25. June 2020 ====
 
* Infra update
** Release of the second set of Windows 64bit wheels.
** Issues on the CI due to some internal issues, everything should be running soon.
* (in progress) from __future__ import newapi
** it's tricky to provide snake_case instead of camelCase
** issues with tp_getattro
** creating modified Python objects to replace the original types at runtime
* (in progress) from __future__ import newproperties
** Still many things to go
* PYSIDE-1282 pthread crash solved, and will be merge in 5.14
* Indentation fixes for generated code. Prefix adaptation for a standard format so it can be loaded in QtCreator (from warning and stuff)
* Qt for Python 6 is partially working in some platforms
** Still many missing modules,
** CMakeLists.txt files needs some love,
** Needs to adapt CI for the new dev branch
** Windows has some issues still :)
* libclang situation, are we sharing the same version for qdoc, qtcreator, qt, etc...?
** Need to check in case we decide to update
* Commercial wheels split progress
 
==== 18. June 2020 ====
 
* Infra update
** The new windows wheels still had some issues, it seems the latest are OK, and we would need to publish '_2' wheels.
** Some issues with macOS builds for 5.15.0
* Qt6 compatibility
** This is stopping the improvements in the QML integration story
** We need this merged before continuing https://codereview.qt-project.org/c/qt/qtbase/+/301979
* Merged a bug fix to 5.12 (the CI was not broken)
* (in progress) Qt6 Properties camelCase to lower_case
** Not a trivial task
** It's possible to rename dynamically functions, and other things.
** Containers needs to be taken care too
** Having more than one object with the same ID is challenging
** 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
** 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 ====
 
* CI Update
** Limited API reports work
** Improve integrations on macOS
* Documentation updates for Qt Assistant
* PYSIDE-1257 cx_Freeze issues seems to be related to cx_Freeze itself.
* Q_ENUM and QFlag will be soon available.
* 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
** cleanup snippets and general things in shiboken
** Tutorials
** license changes for LTS
*** rcc
** Adding clarifications to the docs.
*** uic
** Discussion on the proper build processes.
*** QTranslator (*)
* Bugs
*** ...
** 1438 Visualization issue
** QtAssistant integration
** https://bugreports.qt.io/browse/PYSIDE-1516
** loadUiType
** https://bugreports.qt.io/browse/PYSIDE-1514 shiboken renaming causes an issue for copying files to the wheel.
** The new way of registering QML properties needs to be applied to the code base.
** Show the __feature__ issues on the traceback.


==== 30. April 2020 ====
====5. March 2021====
* CI Updates
** 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 ====
*General Topics
* 5.14.2.1 Release
**6.0.2 release preparations
* New bugs around threading:
***Final fix for license checking instructions
** https://bugreports.qt.io/browse/PYSIDE-1271
***OSS RC1 wheels should be available for testing later today
** https://bugreports.qt.io/browse/PYSIDE-1255 needs to be reopen.
***Merge from pyside-setup/6.0 into tqtc-pyside-setup/6.0 is pending that final fix
* Documentation changes around the replacement of the old pysideuic module
**Bugs
* Q_ENUM update
*** [https://bugreports.qt.io/browse/PYSIDE-1438 PYSIDE-1438] Crash in Qt DataVisualisation adressed
** How to get a reference from the QMetaObjectBuilder without a QObject based project?
*** Bug triage, moved several bugs over to Qt
* mypy compatibility
**Features
** depends a bit on the Q_ENUM
*** Cleanup and improvement of injected code snippets in PySide6
*** Improvements in error handling


==== 16. April 2020 ====
====25. February 2021====


* Plan for 5.14.2-1 release
*General Topics
* Research on Pickling support, PYSIDE-15
**Commercial 5.15.3 release next week.
* Provided fix for PYSIDE-1267  related to efforts of exposing QScintilla
**6.0.2 release next week.
* Object dumper to help debugging python implementations
*Infra updates
* Debugging options for the code model.
**Keep an eye on the next Python releases.
* pysideuic old functionality into the QUiTools module
*Features
** compileUI
**Documentation for the designer plugin
** loadUiType
**shiboken: c++ using directive
* Q_ENUM discussion
**pathlib compatibility support discussion (initial implementation was discarded)
***Trying to discover all the methods that are related to paths.
*Bugs
**cx_Freeze issues in 6.0.0/1


==== 9. April 2020 ====
====18. February 2021====


* Most bugs reported in 5.14.2 are fix on 5.14
*General Topics
** Preparing the process for the release of 5.14.2-1
**Commercial LTS 5.15.3 release.
** Check about versioning on pypi to not override 5.14.2 wheels.
**DeveloperWeek conference talk by Corey: will mention Qt for Python.
* PYSIDE-813 is now fixed
*Infra Update
* PYSIDE-1255, Signals not being emitted.
**TBD: Need of a new branch in qt5.git for the lts qt for python release.
* Working on Q_ENUM
*Features
**pathlib.Path (soon to be ready) and fspath support (difficult) in pyside
**__feature__ documentation
**Designer patches are done (we still need docs)
**documentation generation fixes.
**shiboken: general refactoring (constructors)
**doc: examples code in tabs
**doc: new ideas for tutorials and vocabulary.


==== 2. April 2020 ====
====11. February 2021====


* 5.14.2 is out:
*General topics
** keep an eye on new bug reports.
**Issues with Pick-to: 5.15
*** https://bugreports.qt.io/browse/PYSIDE-1253
**Discussion about the usage of pathlib
*** https://bugreports.qt.io/browse/PYSIDE-1254
**Reduce linux wheel size by not including .debug files.
*** https://bugreports.qt.io/browse/PYSIDE-1255
*Infra update
** The new documentation is out too: https://doc.qt.io/qtforpython/
**Timeouts in RHEL
* 'manylinux1' discussion
**Preparing addons for 6.1
* CI status
*Bugs
* 'loadUiType' status https://bugreports.qt.io/browse/PYSIDE-1223
**Fixing many issues related to sphinx, and documentation in general.
** two approaches for it, a Python and another in C.
*Features
* PYSIDE-813
**Moving the internal shiboken6.shiboken6.Shiboken to shiboken6.Shiboken 1497
** Finding where the reference is gone, but there is the only issue left.
**Will be finish today (Documentation about the __feature__ options) PYSIDE-1481
** All the other issues were solved.
**(in progress) https://bugreports.qt.io/browse/PYSIDE-1019 usage of constructor properties when enabling true_property
** A solution should be out soon.
**Migration to pathlib in our code, and add support for fspath in our API, https://bugreports.qt.io/browse/PYSIDE-1499
* Research on adding Python support for Qt's lupdate: PYSIDE-1252
**Examples gallery embedded into the doc building process.
**Designer patch ready for review.
**Commercial tools on-going (icons discussion)
**(in progress) Error handling in shiboken


==== 26. March 2020 ====
====4. February 2021====


* 5.14.2 Release
*General topics
* OKRs Update
**6.0.1 release is on its way (the wheels will include the Qt3D modules and the ImageFormat plugins, which were missing in 6.0.0)
** Looking for commercial opportunities
**Changelog structure in Qt vs what we have now
* PYSIDE-813 new discoveries found:
**Zombie 5.15 patches to be re-generated or cherry-picked to lts-5.15
** There are a couple of issues with one of the PYSIDE-803 patches that will be solved soon.
*Infra update
** PYSIDE-164 is out of the picture
**Maintenance update went better.
* Lambda functions for QWebEngineCallback PYSIDE-946 so we can expose the missing bindings.
**COIN update is coming next week.
* QVariant conversions tweaks PYSIDE-1250
*Bugs
* Working on adding 'loadUiType' into PySide PYSIDE-1223
**(almost done) Shiboken internal namespace renaming.
* Research on adding Python support for Qt's lupdate: PYSIDE-1252
**(done) https://bugreports.qt.io/browse/PYSIDE-1476
**(done) https://bugreports.qt.io/browse/PYSIDE-1478
**(done) https://bugreports.qt.io/browse/PYSIDE-1487
**(in progress) https://bugreports.qt.io/browse/PYSIDE-1481
*Features
**M2M Protocols modules rebase
**Shiboken UI rebase
**Custom Widget designer compatibility
**Snippet converter tool


==== 19. March 2020 ====
====28. January 2021====


* 5.14.2 Release preparations
*Infra update
* Work on Widget gallery example
**'dev' we are missing tests on macOS (in progress). Qt5 bin on macOS 11, and running test on 10.15/13
* Done: Refinements to wheel-tester.py
**trying to build pyside on a custom Qt (with plugins/addons) oss and commercial
* Done: Reworked test_wheel.py for macOS
*Bugs
* Done: Fixed PYSIDE-1247 signature warning in Python 3.6
**Due to the shiboken module naming issue
* In progress: Instrumentation of PYSIDE-164/813
***(in progress) https://bugreports.qt.io/browse/PYSIDE-1481 __feature__ documentation
***(in progress) https://bugreports.qt.io/browse/PYSIDE-1476 PySide Property declaration creates properties with the setter name of the function
***(in progress) https://bugreports.qt.io/browse/PYSIDE-1347 constructors info in the stubs (other issues appeared)
***All the future fix related to stubs rely on the change
***there might be some issues with relying only on the install dir and not build.
*Features
**refactoring shiboken
**statmachine module rebirth
**designer patches to include custom widgets.
**enabling clang_options on shiboken
*Branching story
**lts-5.15 issues
***Fix pyside-setup/5.15 and do all the merges     (done)                                        
***Merge pyside-setup/5.15 into tqtc-pyside-setup/5.15    (done)                                        
***Create tqtc-pyside-setup/lts-5.15 from pyside-setup/5.15
***Close pyside-setup/5.15 Make the Pick-to bot merge from Pick-to: 5.15 -> tqtc/lts-5.15
**tqtc
***create tqtc/dev from oss/dev
***move manually the patches that added things for the commercial offering into tqtc/dev (shiboken ui, m2m protocols modules)
**Process to fix bugs
***push to oss/dev Pickt-to: 5.15 (this will go to lts-5.15)
***before release we push oss/dev to tqtc/dev


==== 12. March 2020 ====
====21. January 2021====


* CI Status
*Infra update
** Everything up and running
**'dev' branch seems to be the only broken (maybe 5.15)
** 5.14.2 to be released next week hopefully.
**Provisioning is affected
* PYSIDE-803
**need to create lts-5.15 branch for commercial releases
** Almost there!
**WinRT is broken (at a Qt/CI level)
** retrieveMetaObject improvements.
*Bug fixes
** We will try to test it without the allow-thread patch to evaluate performance.
**https://bugreports.qt.io/browse/PYSIDE-1458 Discussion about macOS symlinks
* PYSIDE-813
**(in progress) https://bugreports.qt.io/browse/PYSIDE-1481 __feature__ documentation
** we will keep PYSIDE-164 open until we find a solution that fixes both.
**(in progress) https://bugreports.qt.io/browse/PYSIDE-1476 PySide Property declaration creates properties with the setter name of the function
* Starting to evaluate std::function compatibility with Shiboken.
**(in progress) https://bugreports.qt.io/browse/PYSIDE-1347 constructors info in the stubs (other issues appeared)
*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)


==== 5. March 2020 ====
====14. January 2021====
 
* 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 ====
*Qt Bug fixing week
*Infra update
**Missing 5.15 merge to tqtc
*Bug fixes
**https://bugreports.qt.io/browse/PYSIDE-1470 fixed
**https://bugreports.qt.io/browse/PYSIDE-1347 in progress
*Features
**Contacting people at other IDEs groups to provide a better PySide support. (to create a user story)
**NumPy support to accept numpy.array as 'some' Qt types
**Designer plugin works continues (needs libshiboken) https://bugreports.qt.io/browse/PYSIDE-1455
*Webinar ideas
**__feature__ and Python properties
**Interaction with other modules


* CI status and issues with the Qt provisioning 5.12
====7. January 2021====
** 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 ====
*Infra update
* 5.14.1 release rolling
**libclang install fixes (issues related to 6.0 and 10.0)
* Work on [https://bugreports.qt.io/browse/PYSIDE-1204 PYSIDE-1204]
***from the MSVC update, we require 10.0 for 5.15 and 6.0
* Work on [https://bugreports.qt.io/browse/PYSIDE-1191 PYSIDE-1191] PySide2 5.14 source now builds against Qt 5.12 as well
*Bug fixes
* Further research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
**PYSIDE-1447 qapp flag
** full instrumentation of generated source for tracing,
**PYSIDE-1463 snake_case init issue
** discovery of new hooks to support. Still in flux.
**PYSIDE-1470 shiboken delete qapp
* Fixed some issues of Python 3.8 (most prominently warnings about implicit conversion to integers for QFlags), will be fixed in 5.14.2
**PYSIDE-79 reopened due to a leak introduced by the fix to PYSIDE-68
* 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.
*Features
**Possible research PYSIDE-163
**Refactoring shiboken
**PYSIDE-1455 designer plugin
**Snippets translators
**Deployment story for PySide6


==== 23. January 2020 ====
==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 ====
*[[Qt for Python Development Notes 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 ====
==2019==
* [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 ==
*[[Qt for Python Development Notes 2019]]
* [[Qt for Python Development Notes 2019]]


== 2018 ==
==2018==


* [[Qt for Python Development Notes 2018]]
*[[Qt for Python Development Notes 2018]]

Revision as of 09:18, 15 April 2021

2021

15. April 2021

  • Infrastructure
    • Setting on track the content of OSS and commercial wheels.
    • Qt addons distribution will change in 6.1 and 6.2, so we need to keep an eye on that.
    • New macOS machines for the CI
  • Documentation update process to be improved.
  • Bugs
    • There were some problems with the default encoding and the doc build process (python version related)
    • 1529 fixed, and other issues (QPointF), 1514 QPainter, 1503 QCharts.
  • Features
    • Improving examples to use new features and refreshing the code base.
    • Performance examples to compare C++ and Python
    • Reformatting some code base to use f-strings and warning
    • New tutorials in progress based on Model View
    • Internal Qt Hackathon
      • Focused on integration with matplotlib (Performance discussion)
      • Scripting C++ applications.

08. April 2021

  • No meeting

01. April 2021

  • Deployment story
    • Add new test for Nuitka (on macOS)
    • Update the tutorials, since PyInstaller and cx_Freeze seems to be partially working on Qt6.
    • Higher versions from macOS are more restrictive for the bundles that are generated. This leads to new breakage.
  • Preparation for 6.0.3 release
  • Bug
    • PYSIDE-1523 Nuitka compile methods/functions is done
    • PYSIDE-1338 Hiding confusing feature frame entries
    • Wheel Tester to be improved.
  • Features
    • pathlib features still in progress.
    • Porting more examples to snake_case
    • Check snippets_translator tool.
    • Make generate_pyi as a generic tool to be merged.

25. March 2021

  • Infra
    • Evaluation to change the wheel names to specify glibc version for 6.1
    • CI issues still with macOS
  • Features
    • Refactoring examples (snake_case)
    • Updating deployment docs.
    • PYSIDE-1523 Nuitka, support for compiled functions.
    • PYSIDE-1415 make the generate_pyi more general
    • PYSIDE-1449 pathlib compatibility
    • Improvements on the documentation, tutorials, and examples.
    • Enabling snippet translator into the doc building process.
  • Bugs
    • Fix crash from the new Network components.
    • Triage and some other fixes.
    • PYSIDE-1502 Compiling pyside2 with build target does not result in PySide2 `support` module being installed
    • PYSIDE-1524 warning related to sprintf
    • PYSIDE-1019 1038 hidden imports, properties, other fixes.
    • There seems to be some problems with PyInstaller on macOS

18. March 2021

  • Infra
    • CI has been showing some issues. 12h timeouts for macOS.
    • Soon to have 6.1 branch
    • Synchronization of the commercial repository with latest Qt.
  • Features
    • Improving commercial tools.
    • Finding issues and getting ideas to improve the docs.
    • Using new qttools directory
    • Add option to not copy qt tools to the wheel when building.
    • pathlib compatibility patch still on-going
    • improvements to the documentation, adding 'doc' directory to each example.
  • Bugs
    • OpenGLFunctions issues (mailing list announcement)
    • PYSIDE-1520 Union types
    • PYSIDE-1514 Shiboken module movement patches had some issues, which will be fixed
    • PYSIDE-1502 Working on improving the __feature__ option to make them safer in diff installation errors.
    • PYSIDE-1019 feature import problem (found in PYSIDE-1338) waiting for review

11. March 2021

  • Infra
    • 6.0.2 is out
    • 5.15.3 still pending
    • Trying to update dependencies for 6.1 (modules)
    • auditwheel (research, optional)
    • COIN seems to be acting weird, but generally.
  • Features
    • cleanup snippets and general things in shiboken
    • license changes for LTS
    • Adding clarifications to the docs.
    • Discussion on the proper build processes.
  • Bugs

5. March 2021

  • General Topics
    • 6.0.2 release preparations
      • Final fix for license checking instructions
      • OSS RC1 wheels should be available for testing later today
      • Merge from pyside-setup/6.0 into tqtc-pyside-setup/6.0 is pending that final fix
    • Bugs
      • PYSIDE-1438 Crash in Qt DataVisualisation adressed
      • Bug triage, moved several bugs over to Qt
    • Features
      • Cleanup and improvement of injected code snippets in PySide6
      • Improvements in error handling

25. February 2021

  • General Topics
    • Commercial 5.15.3 release next week.
    • 6.0.2 release next week.
  • Infra updates
    • Keep an eye on the next Python releases.
  • Features
    • Documentation for the designer plugin
    • shiboken: c++ using directive
    • pathlib compatibility support discussion (initial implementation was discarded)
      • Trying to discover all the methods that are related to paths.
  • Bugs
    • cx_Freeze issues in 6.0.0/1

18. February 2021

  • General Topics
    • Commercial LTS 5.15.3 release.
    • DeveloperWeek conference talk by Corey: will mention Qt for Python.
  • Infra Update
    • TBD: Need of a new branch in qt5.git for the lts qt for python release.
  • Features
    • pathlib.Path (soon to be ready) and fspath support (difficult) in pyside
    • __feature__ documentation
    • Designer patches are done (we still need docs)
    • documentation generation fixes.
    • shiboken: general refactoring (constructors)
    • doc: examples code in tabs
    • doc: new ideas for tutorials and vocabulary.

11. February 2021

  • General topics
    • Issues with Pick-to: 5.15
    • Discussion about the usage of pathlib
    • Reduce linux wheel size by not including .debug files.
  • Infra update
    • Timeouts in RHEL
    • Preparing addons for 6.1
  • Bugs
    • Fixing many issues related to sphinx, and documentation in general.
  • Features
    • Moving the internal shiboken6.shiboken6.Shiboken to shiboken6.Shiboken 1497
    • Will be finish today (Documentation about the __feature__ options) PYSIDE-1481
    • (in progress) https://bugreports.qt.io/browse/PYSIDE-1019 usage of constructor properties when enabling true_property
    • Migration to pathlib in our code, and add support for fspath in our API, https://bugreports.qt.io/browse/PYSIDE-1499
    • Examples gallery embedded into the doc building process.
    • Designer patch ready for review.
    • Commercial tools on-going (icons discussion)
    • (in progress) Error handling in shiboken

4. February 2021

28. January 2021

  • Infra update
    • 'dev' we are missing tests on macOS (in progress). Qt5 bin on macOS 11, and running test on 10.15/13
    • trying to build pyside on a custom Qt (with plugins/addons) oss and commercial
  • Bugs
  • Features
    • refactoring shiboken
    • statmachine module rebirth
    • designer patches to include custom widgets.
    • enabling clang_options on shiboken
  • Branching story
    • lts-5.15 issues
      • Fix pyside-setup/5.15 and do all the merges     (done)                                        
      • Merge pyside-setup/5.15 into tqtc-pyside-setup/5.15    (done)                                        
      • Create tqtc-pyside-setup/lts-5.15 from pyside-setup/5.15
      • Close pyside-setup/5.15 Make the Pick-to bot merge from Pick-to: 5.15 -> tqtc/lts-5.15
    • tqtc
      • create tqtc/dev from oss/dev
      • move manually the patches that added things for the commercial offering into tqtc/dev (shiboken ui, m2m protocols modules)
    • Process to fix bugs
      • push to oss/dev Pickt-to: 5.15 (this will go to lts-5.15)
      • before release we push oss/dev to tqtc/dev

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