Qt for Python Development Notes 2023

From Qt Wiki
Jump to navigation Jump to search

2023

21. December 2023

  • General
  • Infra & Releases
    • Adaptation to Qt 6.7
  • Bugs & Features
    • Work on documentation, create separate page for global functions and enumerations, fixed warnings
    • Fixed a few functions returning tuples (QLockFile::getLockInfo(), QQuaternion getAxisAndAngle()/getEulerAngles())
    • Fixed qCompress()/uncompress() for PyBuffer
    • Test app to check if building works with Qt bootstrap in P4A - https://github.com/kivy/python-for-android/commit/14dab2defb3db6aef0e95f0dadff3954ea8d9a52
    • PYSIDE-2439 - FindPython cmake module update merged
    • PYSIDE-2553 - Android build issue - Under investigation
    • PYSIDE-535 Support PyPy for Python 3.10
    • PYSIDE-535 Fix a few new bugs in PyPy for Python 3.10
    • PYSIDE-2221 Porting NoGil to Python 3.12 final, first approach (3.13 not ready enough)
    • QtAsyncio: Improvements to catch keyboard interrupts
    • QtAsyncio: Introduce QtAsyncio.run() function as the new recommended method to launch QtAsyncio programs.

14. December 2023

07. December 2023

  • General
    • Some issues with the snippets translation on some classes, and class diagrams.
    • PyConUS: CfP ending on December 18th
    • QtCS and QtWS last week
  • Infra & Releases
    • 6.6.1 was released
    • Commercial LTS 5.15.16 was released as well
  • Bugs & Features
    • PYSIDE-2230 Fixed last QML problems with PEP 697 and Python 3.12
    • PYSIDE-2404 Restarted work on Lazy Initialization
    • PYSIDE-2539 missing links to QFlags issues
    • PYSIDE-2215 intersphinx issue that duplicate modules
    • QuickTests were added due to a request
    • QT_NO_CAST_FROM_ASCII what is the feature? enabling it remove some API.
    • Feedback from QtCS
      • Better support in QtCreator (LSP improvements and editing)
      • Mix Debugging with Python code, and the underlying C++ in a simpler way. (What about QML + C++ debugging? does it work?)
      • Documentation on how to do UI testing.
    • Fixing wheel testing, and other flaky test
    • Flake8 configuration for our code
    • PYSIDE-2476 typing issue was addressed, related to bytes
    • Calculator example for android (following quick example revamped)
    • Nuitka version bump 1.8
    • CMake changes on find_python CI was picking the wrong python version.

30. November 2023

  • General
    • Everyone at QtCS!
  • Infra & Releases
    • 6.6.1 almost ready, delayed by sickness in team
  • Bugs & Features
    • PYSIDE-2524 Slots with default parameters fixed
    • PYSIDE-1931 Hang when using PSQL over SSH tunnel fixed
    • PYSIDE-2535 Diagnosed DBUS issue
    • Refactorings/QString usage
    • Looked into Qt Creator QML debugging
    • Picked Python 3.12 support to LTS 6.5

23. November 2023

  • General
    • QtWS and QtCS next week
  • Infra & Releases
    • CI is updating Python version from 3.8 to 3.11, we will tweak some CI configuration.
    • 6.5 was moved to Commercial LTS in the past days, no more patches to the public repo.
    • 5.15.16 commercial LTS was released
    • 6.6.1 - three changes are pending wrt the Async story in order to have the RC wheels.
    • 5.15.x versions that needs to be released to the public will be soon available.
    • A review on the python packages on the installer
    • qtpip 0.2 will be work on soon
  • Bugs & Features
    • Async: there is still a crash that needs to be addressed.
    • Scripting presentation (poc)
    • diagnosis for singleShot
    • modernize Analog Clock example
    • QML Debugging story saw the light
    • PYSIDE-2534 rejected
    • PYSIDE-2535 is currently in research
    • Qt 6.7 Adaption started
    • PoC PyObject explorer
    • Qt Strings story: After some research we noticed some missing operators, so we cannot migrate.
    • Upstreamed the python-for-android patch.
    • Refactoring the deployment tool a bit
    • Working on a Qt Academy course (soon to be published!)
    • Working on DS compatibility


16. November 2023

  • General
    • Attended Meeting C++ Conference ... Reflection in C++ (which would revolutionize bindings generation) still planned for C++ 26
  • Infra & Releases
    • Preparing for 6.6.1
  • Bugs & Features
    • Checked whether Clang 17 brings any surprises..works
    • Checked PYSIDE-2524 .. No viable solution, but some cleanups and performance-related refactorings
    • Refine, fixed errors and created upstream pull request in python-for-android - kivy/ ... /pull/2918
    • Calling the C++ function for singleShot timers doesn't yet work for signals + another case
      • Python arguments need special conversion to C++ for these cases

9. November 2023

  • General
    • Bug fixing week
  • Infra & Releases
    • Nothing new under the sun
  • Bugs & Features
    • PYSIDE-2230 SOTP works problems solved. Check-in pending.
      • SbkObjectType changes its type at runtime: was found with logarithmic debug search and fixed.
      • bug_825 problem after update to Python 3 was finally solved: In Python < 3.12 SbkObjectType must have size > PyType_Type, in order to win the base class selection.
    • Pushing upstream some enum motivated tasks to Designer.
    • Dropping support to setup.cfg in favor of pyproject.toml
    • Introducing PySide6_Examples wheel
    • discussion about singleShot

2. November 2023

  • General
  • Bugs & Features
    • Exploring ways of avoiding download/install artifacts on the CI
    • Adding new Examples wheel (we might add extra files for QtCreator)
    • Migrating away from the setup.cfg to pyproject.toml
    • Executor bug remains, but further research is in progress. (Debugging threads is complicated)
    • Simplify algorithm for the multiple inheritance offsets
    • PYSIDE-2342 QML singleton when class has a static create factory method
    • PYSIDE-2510 Crash with signals on classes that don't inherit from QObject
    • QMetaInvoke not taking all the parameters
    • 2514 typing issues
    • Rebase Rhi compatibility patch
    • Designer work on writing fully qualify enums
    • PYSIDE-2230 SOTP works continues.
      • SbkObjectType changes its type at runtime so it's generating a side effect on checking the functions, and the size of the binary object.

26. October 2023

  • General
  • Infra & Releases
    • Releases planned for November
    • qtpip will have an independent release cycle
  • Bugs & Features
    • PEP 697 works continues: hidden structures in our extension types.
      • There is an in place implementation, helping with speed, but the rules are tighter for the rest of the code. Single remaining QML problem is bug_825 (segfault).
    • QThread Pool Executor implementation on QtAsyncio finally working, but another issue popped-up. Further debugging is required to address it.
    • PYSIDE-2492 uic not writing qualified enums. Changes were pushed to Designer.
    • Issues with the not-recommended loadUI function
    • qtpip improvements for uninstall mechanism
      • Should PySide2 be handled?
      • Download dependencies improvements.
    • PYSIDE-2367 signal disconnect issue with threads, was solved.
    • PYSIDE-2342 create function for singleton decorator request, many issues arise on the first PoC
    • PYSIDE-2505 kdockwidgets issue
    • Catching up with 6.7 current version.
    • Re-factoring the multiple inheritance implementation.
    • QML Project structure discussion.
    • New wheels in the making, for examples and DS

19. October 2023

  • General
    • Artifacts with the blog and text size
    • QtWS approaching. Activities and talks planned :D
  • Infra & Releases
    • 6.6.0 was released
    • 6.2.10 to be released soon
    • qtpip to be release today
  • Bugs & Features
    • Extra fields into the type area (hidden elements) is officially supported for 3.12, but not for the Limited API.
      • The idea is to enable the PyPy compatibility in a different way.
    • Planned work to continue with lazy imports.
    • Fix sizeof struct issue (for 3.12)
    • First attempts to provide bindings for Rhi
    • PYSIDE-2487 disconnect special cases were reported (@Slot should always be used)
    • PYSIDE-2492 Type warnings from uic, related to Enums
    • Signature of Signals issues
    • qtpip changes:
      • fulluninstall to include m2m wheel
      • OSS wheel detection
      • download conf file always
    • ThreadPoolExecutor with asyncio research
    • Locale macOS issue was solved
    • Improvements to the deployment tool (android)
    • examples wheel in the making
    • improvements to the cross compilation story

12. October 2023

  • General
    • Overview release process.
    • PyConES talk was a succeed! Thanks Adrian
  • Infra & Releases
    • 6.6 release has been facing some difficulties, two major bugs were found and fixes.
      • Currently there is a refcount issue that made wheels not-usable in 3.12
    • 6.2.10 Commercial LTS will be release in the following days.
    • qtpip has been having many issues on the CI (but locally works)
  • Bugs & Features
    • PYSIDE-2480 linker error was fixed
    • Static code analysis issues on source and generated code were fixed
    • Started a refactor of the QML registration code
    • Mock based tests for Android deployment revealed bugs. Fixed them.
    • PYSIDE-2485 - Crash in QLocale::bcp47Name. Under Investigation.
    • Fixed a bug with QtAsyncio where closing a program with the close button would throw ugly errors.

5. October 2023

  • General
  • Infra & Releases
    • 6.5.3 is being released today.
    • Commercial LTS 6.2.10 release to be prepared
    • Team alignment on the release of Maintenance Tool/Account/qtpip/aarch64
    • Bump CI configuration to drop 3.7, due to 6.6 being 3.8+
    • Static qtpip build issues on-going
  • Bugs & Features
    • Fix chart example issue
    • Continue research on Python scripting on C++
    • PYSIDE-2462 Smart pointer fix
    • PYSIDE-2230 Python 3.12 support issue for unicode, and other findings for macOS
    • PYSIDE-2080 Linking error was fixed
    • Qt 6.7 adapting the API on dev
    • 3.12 pending issues are being investigated
      • tp_dict field was modified (no longer guarantee to exist) moved to an interpreter state for some static types.
      • PyType_GetDict was introduced, and it's not Stable API (on Windows is not exposed)
      • Risky status for to the Limited API (without a tp_dict access) -> an emulator was written, PepType_GetDict, so user types the tp_dict is still around. The rule is that if tp_dict is 0, we create a new one.
      • Enum problems were found a well, but they are now fixed.
    • Two new examples adapted for Android (and Python)
    • General fixes related to android-deployment of Python applications.
    • Starting the request permission API research on macOS

28. September 2023

  • General
    • OKRs updates
    • Doc update: 6.6 was branched so the snapshots are updated (needs check)
    • Qt Academy: Python course in the making.
    • Qt Creator
      • Welcome screen doesn't have any Python examples.
      • API docs are missing and example docs as well.
    • Windows 11 added a new feature (Dev Drive) on the FS that might improve compile times.
    • GNU Health Con 2023 participation.
  • Infra & Releases
    • 6.5.3 wheels are ready to be tested. Available next week.
    • 6.2.10 Commercial LTS in preparation, and re-scheduled.
    • Team alignment on the release of Maintenance Tool/Account/qtpip
    • aarch64 wheels discussion on distribution
    • Bump CI configuration to drop 3.7, due to 6.6 being 3.8+
  • Bugs & Features
    • Preparation of PyConES presentation: https://charlas.2023.es.pycon.org/pycones-2023/talk/NCJBTE/
    • Async: Issue with executors, that have sync tasks. 3.11 has a special treatment.
    • Directory structure in projects needs some rules people can follow.
    • PYSIDE-2462: New report regarding shiboken advanced usage.
    • Fixing integrations and the cherry pick bot (auto pick was misbehave for pyside-setup) - still in discussion
    • Python 3.12 still have some issues for the Feature option of the PyTypeObject
    • Code analysis on pyside-setup: missing move copy constructors.
    • Fixed a couple of QML tests crashes
    • Testing android deployment tool (revamping some examples, like multimedia, permission, etc)

21. September 2023

  • General
    • Python 3.12.0rc3 is out, final release scheduled for October 2
  • Infra & Releases
    • 6.6 branched
    • 6.5.3 preparations
  • Bugs & Features
    • Fixed PYSIDE-2465 (3.11.5 test fail)
    • Work on PYSIDE-2462 (smart pointer features)
    • Refactored options parsing of shiboken
    • Fixed clang-tidy static analysis issues
    • Android permissions API: Adapt more C++ examples
    • Couple more cleanups and additions to pyside6-android-deploy
    • More manual testing of pyside6-android-deploy. Need to write more integration (mocks) for Android deployment.
    • Final cleanup and resolving tests for python-for-android Qt for Python patch
    • PYSIDE-2468 -requestPermission() on macOS. Tricky scenario similar to PYSIDE-2419
    • asyncio's requirement to use ThreadPoolExecutor keeps screwing us over, but resolution close

14. September 2023

  • Infra & Releases
    • Testing and fixing qtpip for commercial wheels
  • Bugs & Features
    • PYSIDE-2460 Work on some OpenGL issues, updated hellogl2 example
    • PYSIDE-2461 Build system for cross build fixes
    • PYSIDE-2463 Fixed some type hints
    • Android auto sdk and nkd download merged.
    • Requestpermission API and all android changes set for 6.6 merged. Will write tests in the meantime and do some manual testing with deploying apps.
    • patchelf removal for Qfp binaries merged.

07. September 2023

  • General
    • Majority of the team on holiday
  • Infra & Releases
    • Preparing 6.2.10, 6.5.3, 6.6.0
  • Bugs & Features
    • PYSIDE-2393 pytest problem with feature is fixed
    • PYSIDE-2428 feature problem caused long search, has to be fixed in matplotlib
    • Fixed PYSIDE-2444 QState.assignProperty - incorrect type annotation
    • Fixed PYSIDE-2454 Default argument is not used for containers
    • Added some number protocol slots PYSIDE-2446
    • Research on submodules PYSIDE-2447
    • qtpip for commercial wheels polishing touches

31. August 2023

  • General
    • Python 3.11.5 released
    • PyCon Spain talk was accepted - Adrian giving a talk for the new Async story, in October.
    • People on leave in September
    • FF on Qt for Python overview
  • Infra & Releases
    • Planning 6.6 for the last days of September
      • Maintenance Tool update for qt for python
      • Features until 12.09
        • Feature issues + multiple inheritance
        • Async story needs some testing
        • Android patches (new modules, plugins, permissions, etc)
        • qtpip for commercial wheels
        • new QtCreator templates?
    • 6.2.10 Commercial LTS and 6.5.3
  • Bugs & Features
    • Lazy imports still in progress, might be available for 6.7
    • QmlSingleton crash was fixed
    • JIRA was cleaned a bit, many invalid issues
    • Signal signatures were adjusted
    • PYSIDE-748 additional parameter metamethod (old issue)
    • QDataStream read/write data accepting bytes too
    • New CMake Qt API has lots of features for qml, resources, etc which might not be too compatible with Qt for Python.
    • PYSIDE-2429 macOS deployment min version fixed
    • patchelf removal is ready to merge (motivated by android research)
    • android: permission API, need some extra testing. Soon ready for review.
    • QIODevice buffer object issue was fixed, and is waiting for review (motivated by the async story)
    • qtpip development continues.

24. August 2023

  • General
    • New board on JIRA to reflect our work clearly https://bugreports.qt.io/secure/RapidBoard.jspa?rapidView=262&view=planning.nodetail&issueLimit=100
    • Qt Meetups are starting to popup in Berlin and other countries! we might join some of them.
    • Discussions around improving the Qt Creator experience and UI creation in general.
    • There has been some motivation from Qt/C++ to use more CMake in projects (like for resources), which is negatively affecting the Python projects, due to the lack of CMake in the Python projects.
  • Infra & Releases
    • Commercial LTS 5.15.15 to be released soon.
    • 6.5.3 scheduled for the first week of September
  • Bugs & Features
    • QIODevice::read(char*, qint64) functions are removed, but they are useful for the asyncio story. Discussion on if it's worth exposing them.
    • More changes related to QtAsyncIO are ready for review.
    • PYSIDE-2417 overflow issue was fixed
    • [ot] i18n in the Qt framework
    • PYSIDE-2418 connection issue with python overloads
    • 6.6 documentation has some issues due to the QtGraph new module
    • PYSIDE-2423 connecting signals to python callable doesn't properly work - trying to find a proper solution
    • PYSIDE-2424 Installing shiboken in a non-standard way discussion - it might not be properly fixed.
    • Next Wednesday 10am: session about Shiboken + QtScrypt status
    • PYSIDE-2419 locale issue on macOS due to the Info.plist that python includes that overrides the QLocale settings. A bug report was filed upstream, and a workaround is suggested.
    • PYSIDE-2421 webengine issue was discussed, it's an Qt/C++ chromium issue.
    • CMake FindPython patches are still being worked out, the wrong interpreter is being found.
    • patchelf removal is causing some issues with cross compilation.
    • qtpip works continues.

17. August 2023

  • Bugs & Features
    • Investigating on PyPySide MI segfault postponed but on To-Do list PYSIDE-1991
    • PYSIDE-2404 More Progress in Lazy Initialization
      • the optional __getattr__ in module objects was successfully implemented (but is seldom used)
      • lazy init of Enums is probably no more needed, covered by the import scheme below
      • most common cases like "from PySide6.QtWidgets import QLabel" supported by another __import__ override
      • Keep your fingers crossed, testing starts today
    • PYSIDE-2419 QLocale::language() returns wrong on macOS.
      • Caused by QLocale infrastructure which looks at Info.plist inside the Python interpreter macOS bundle.
      • Working on a hack fix after consulting Tor Arne and Eddy.
    • Pacthelf removal - cross compilation breaks. Working on a fix.
    • PYSIDE-2421 - QWebEngineView.print() - rerouted to Qt
      • But, might requires an ownership fix in Shiboken once QTBUG-116052 is resolved
    • Research - use the .debug files provided by the Qt installer to debug from VSCode.
      • Saves time from not building Qt everytime
      • Still ongoing
    • QtAsyncio: Implementation of asyncio.Server (one open question remains - asyncio API and Qt API don't always match as cleanly as desirable).

10. August 2023

  • General
  • Infra & Releases
  • Bugs & Features
    • Patchelf removal only partially possible because of using patchelf on prebuilt Qt binaries.
      • For Qfp binaries patchelf removal under review. MacOS issue being fixed. This is needed for Android.
    • Shiboken module cmake installation bug fixed.
    • Progressing with Android C++ to Python callback, now that Qfp binaries could be loaded on startup.
    • Further investigating on PyPySide MI segfault PYSIDE-1991
    • PYSIDE-2404 Progress in Lazy Initialization
      • the new dual registration is done and builds the base for concrete lazy init
      • lazy init of Enums postponed because
      • an undocumented optional __getattr__ in module objects makes it much easier to lazy-load whole classes, first.

3. August 2023

  • General
    • New reports board
    • QtCreator support
    • Integration cycle on gerrit overview
  • Infra & Releases
    • CI down next Monday for a few hours
    • First tests on linux arm64
    • Preparing 5.15.15 Commercial LTS
    • qtpip first trials on the CI
  • Bugs & Features
    • Async research continues, new things are being discovered while is being developed
      • Implementing a few new things for improving the support
      • Initial patch got merged, but a few others are in the making
    • Team contributing to QtAcademy
    • SQL queries issues, inconsistencies in the API were fixed
    • Build with ninja had some problems regarding mixing stdout and stderr
    • Testing initial support for rvalues
    • 2272 fixing signatures for some qmlRegister* functions
    • Examples: new mediaplayer was fully ported
    • Example gallery scans now a doc directory for images
    • Some other multimedia examples are pending for review
    • Team contributing to Qt translations
    • Adjusting the deployment tool, and fixing issues with pyenv, and upgrading nuitka
    • CMake: adjusting the files to use the new API for finding python, reducing our cmake files
      • Considering also the removal of patchelf, and follow the cmake approach
    • Lazy initialization of enums is showing a good improvement on the performance

27. July 2023

  • General
    • Shyam wrote trip report to Europython
    • Some vacations starting soon for some team members
    • Got some cool t-shirts (internal only so far) - Is there interest for merch?
  • Infra & Releases
    • 6.5.2 released
    • Some LTS releases soon as well
    • Issues on the CI (RHEL8.6) and python interpreter.
    • Formalization of release besides wheels on PyPI and account.qt.io
    • Soon to enable CI on qtpip
  • Bugs & Features
    • [ext] designer issue, translations
    • PYSIDE-2402 QtHttpServer module was missing on Windows
    • QSql methods were un-deprecated (module seems to need more love)
    • Port QtGraph example
    • AsyncIO module: there is a second change in preparation
    • Finally the android issue we had was solved. It seems that patchelf was breaking our binaries, and now we are using a cmake approach instead.
    • Enable unity builds for android
    • Nuitka will be pinned to a recent version
    • PYSIDE-2404 lazy loader research
  • Interesting projects we checked

20. July 2023

  • General
    • Two team members @ Europython 2023
  • Infra & Releases
  • Bugs & Features
    • Implementing transports and protocols of asyncio API
    • Lazy importer still under development. Ongoings:
      • necessary to register all types without creating them
      • turning all PyTypeObject into PyTypeObject valued functions
      • quite hard because deeply buried in the generated code

13. July 2023

  • General
    • CI is not behaving, so be cautious
    • 3.12 beta 4 was released
    • Next week some people are going to Europython
  • Infra & Releases
    • 6.5.2 still in progress, waiting to have the RC wheels
  • Bugs & Features
    • Qt Akademy to prepare a Qt for Python course
    • Examples: we might adapt our gallery to https://bugreports.qt.io/browse/QTBUG-115174
    • Android: callback issue from C++ to Python, some ideas are around, but the problem persists.
      • Might be related to the usage of patchelf.
    • Research on Lazy loader continues
      • Some ideas are behaving well at the moment, but still being tested.
      • We might need to discover some classes that we cannot initialize lazily (manual code injection, need init before usage)
    • We need some reviews for the eventloop patch (asyncio)
    • An enum class with an issue for stubs.
    • qtpip work continues
    • Some good-first-issue are planned for the project, so more contributors can join us!

6. July 2023

  • General
    • PySide 6.6 will support Python 3.8+
    • Python 3.12 support will be back-ported to 6.5 only, and not 6.2
  • Infra & Releases
    • 6.2.9 commercial lts was released yesterday.
    • 6.5.2 RC wheels to be tested.
    • 5.15 open commercial lts tags are in the pyside/pyside-setup repo.
    • qtpip configuration file being improved and updated
    • ARM CI host configuration continues
  • Bugs & Features
    • Removal of old enums was finished
    • Starting to work with lazy loaders for enums
    • First iteration of the asyncio support for the qt eventloop, tests are being prepared.
    • PYSIDE-2370 cross compilation issue, might be related to host python, provided some options to try.
    • Android issue, we cannot get C++ callbacks to Python. Might be related to a python version incompatibility.
    • Preparing a contribution back to python-to-android
    • Rewriting some enum code
    • Add mediaplayer demo in qtdoc for python (some issues with qml)
    • Add document viewer qtdoc example
    • PYSIDE-2381 QSettings issue
    • pyside6-lupdate issues related to encoding.
    • qtpip works continues

29. June 2023

  • General
    • Next maintenance break in August.
  • Infra & Releases
    • 6.5.2 postponed until next week
    • 6.2.9 Commercial LTS soon to be released (a new qt build)
    • 5.15.15 LTS in the next weeks
    • ARM CI host still in progress
    • Brainstorming some additional matrix testing infra for Python versions
    • Tags for OSS and new LTS public releases (IFW ticket)
  • Bugs & Features
    • Research on scripting continues
    • Designer related features/ QtCreator
    • Memory leak related to REG is solved
    • New icon theme for examples coming
    • Some qdoc examples might be enabled for Python
    • Enum removal is still generating detail discussions
      • Two implementation versions are suggested.
      • The old ones were written in C++ so the startup time is a lot slower
      • Lazy generator is helping a A LOT
    • Android dev build - unity had some complications
    • Async event loop work, last issues were addressed.
      • still some network io features are missing
    • [Research] PySide components for QtDS needs to follow QtDS release cycle rather than Qt.


21. June 2023

  • General
    • PyPI limit increase for PySide6-Addons
    • PySide 6.6 might have support for Python 3.8+ (due to Python 3.7 EOL in a week)
    • Python 3.12b3 is out - test!
    • Qt Contributor Summit
      • General session + maybe another one for specific topics.
  • Infra & Releases
    • 6.2.9 is ready, but waiting for Qt/c++ release
    • 6.5.2 release date is next week.
    • Tags for OSS and new LTS public releases
  • Bugs & Features
    • Android research: extra functionality is there, and working on bluetooth/permission integration with a device (example)
    • PYSIDE-2364 Invalid syntax on a pyi file
    • Continue with the old enum removal.
      • Maybe delayed initialization to improve startup time.
    • AsyncIO eventloop work continues
    • Research for scripting continues
    • 6.6 adaptations
    • Fix Enum issue with clang with invalid hex

15. June 2023

  • General
    • Going to EuroPython
    • Participation in Qt Academy
  • Infra & Releases
    • 6.2.9 LTS to be released
    • NFS issues in the CI, being worked on.
    • ARM host on CI experiencing some issues.
      • Some preliminary wheels were generated in order to test.
      • Might help the Android story, but this needs to be confirmed.
  • Bugs & Features
    • Async research revisited
      • Testing eventloop wrapping
    • Memory leak issue still needs to be fixed (hopefully for 6.5.2)
    • Examples in Qt revamp
    • Translations and fixes for 6.6
    • Discussion about Enums implementation
    • Scripting on C++ research continues
    • PYSIDE-1735 removing old enums continues
    • Android improvements in review
      • Adding more modules
    • QVariant enum change (temporary patch until Qt7)
    • shiboken_generator research to make it publicly available (libclang dependency)

8. June 2023

  • General
    • Python 3.11.4 released, 3.12.0beta2
    • PySide6-addons reaching the 10G limit on PyPI
  • Infra & Releases
    • 6.5.1.1 released due to a regression (introduced by a mem leak fix)
    • Maintenance Tool > wheels
      • Special case for M2M protocols to be tested
    • CI on arm64 continues (Linux and Windows)
  • Bugs & Features
    • Fixed some type-hint related issues PYSIDE-2357/PYSIDE-2331/PYSIDE-2340
    • Scripting research
    • Qt pip tool has updated the configuration file and wheels to continue the work on the new tool
    • QVariant PyEnum issue -> solution for review
    • Android work continues: improving the dependency detection
    • PYSIDE-2335 unraisable is finally checked in (the current solution works, it could be improved but low prio -> xml definitions)
    • PYSIDE-2354 type error due to the usage of Generic (related to 939) - related to cpython issue
    • PYSIDE-1735 old enums removal started
    • Example tunings
    • Bug fixing week

1. Juni 2023

  • General
    • Europython - call for first time speakers (open to anyone)
    • Waiting until API review to move dev to 6.6
    • New Epic/User Stories policy
    • Participating into Qt Academy
  • Infra & Releases
    • 6.5.1 released, a leak fix is causing issues with signal connections.
      • Initially we thought it was purely functools.partial but there are other cases that are not working.
      • Testing alternative solutions, otherwise we revert
      • In any case a 6.5.1.1 will be out soon
    • Need to test the new conf file for the commercial wheel install mechanism
    • 5.15 needs to skip libclang16
    • Testing maintenance tool with a license without Qt for Automation (for wheel check)
    • JIRA release versions are pending.
  • Bugs & Features
    • (External) Designer fonts issues
    • PYSIDE-2347 metaobject tool missing types
    • Scxml events missing connections.
    • Scripting research (check report)
    • Leak research continue
    • Issue with new example state machine to be solved (event handling)
    • PYSIDE-1930 PYSIDE-2239 QVariant Enum issue, the fix is out, but we need some tests.
    • Finish the problem with unraisable exceptions
      • Discussion on special cases with a run function
      • Blocking functions are still an issue, because we cannot break
    • PYSIDE-2354 typing.Generic issue with inheritance in progress
    • PyTest research continues

25. Mai 2023

  • General
    • QtWS - One talk accepted
    • Europython - One talk accepted
  • Infra & Releases
    • 6.5.1 one issue was found, so release will be available once we merge the fix.
    • 5.15.14 to be release soon.
    • CI arm64 experiments continue
    • Asking about M2M wheels on the maintenance tool, for 6.6
    • Solving LTS issues of missing tags on public repo, might take some time.
  • Bugs & Features
    • Evaluating shiboken6_generator to be published on PyPi
    • Few small fixes around the project (release preparation, new features, small bugs, doc issues)
    • QtScrypt experimental work continues
    • Permission API added (motivated by the android support)
    • Improvements for the android deployment.
    • Trying to fix an issue of getting Enums to Ints
    • Delayed exceptions work continues, trying to fix some corner cases still.
    • Starting to explore PEP 658
    • Research on PyTest compatibility
    • [Designer] Fixing some issues, and warnings

18. Mai 2023

  • Infra & Releases
    • 6.5.1 Preparations
    • 5.15.14 Preparations
  • Bugs & Features
    • Fixed PYSIDE-2325 typesystem incomplete
    • Fixed PYSIDE-2328 Segmentation fault/access violation when connecting signal of temporary object
    • Fixed PYSIDE-2329 Signal connections with init kwargs
    • Reverted temporarily the delayed exception patch, in order to not block the 6.5.1 release. This should be discussed at the next meeting

11. Mai 2023

  • General
    • Python Users Berlin meetup talk today
    • Europython, QtWS
    • Qt FF 02.06
    • Android team «ketchup»
    • Example revamp update
      • Quick examples needs to be ported to loadFromModule (Quick3D, QuickLocation, missing)
  • Infra & Releases
  • Bugs & Features
    • Fixing regressions issue related to threads - delayed exceptions
    • https://bugreports.qt.io/browse/PYSIDE-2321 event handlers issues
    • https://bugreports.qt.io/browse/PYSIDE-1951 virtual method override - still in progress
    • https://bugreports.qt.io/browse/PYSIDE-2230 3.12 support
    • nogil research continues - mutex might slow down things, but doing a proper division of the code could help.
    • QML example tutorials - one review pending
    • 2313 longtype issue with numpy
    • examples revamping - loadFromModule
    • Icon library -> icon theme soon available on a new module.
    • PYSIDE-2316 sharedpointer template issues
    • Shiboken refactoring
    • Finally the memory leak is fixed
    • Enhancing android story, detection of modules, finding dependencies, got ideas from the current qt/c++ tool.
    • Build infrastructure, setup.py install has been deprecated since 3.11 - looking into a new build infrastructure.
    • Internal technical talks
      • Shiboken generating bindings
      • Shiboken for documentation generation
      • type hints generation
      • QML integration via decorators

4. Mai 2023

  • General
    • Europython talk by Shyam still under consideration
    • Qt for Android catch up meeting scheduled for 09/05/2023
    • Discussion with kivy developers done on discord. They seem to be onboard with the Qt support.
  • Infra & Releases
  • Bugs & Features
    • Android Deployment Enhancements - Bringing pyside6-android-deploy at the level of androiddeployqt - Ongoing
    • python-for-android PR Enhancements - Ongoing
    • PYSIDE-1951 super().__lt__ global solution ongoing
    • PYSIDE-2206 QML examples/tutorials revamping
    • PYSIDE-2221 Python runs NoGil version of mandelbrot.py 7.7 times faster on a 10-code M1 machine
    • PYSIDE-2288 Fixed Clang 16 support for 6.6/6.5.
    • PYSIDE-2310 Crashing without error reporting in Qt-based threads, debugging
    • PYSIDE-2299 Ongoing, current attempt fixes most tests but leaves some SegFaults, might be a dead-end.

27. April 2023

  • General
    • Planning collaboration with other projects like Kivy, towards a better mobile support.
    • QtWS talks submitted
    • PyConES, PyConPT, PyConAPAC
    • Qt for Android catching up meeting
    • Bug fixing week
  • Infra & Releases
    • 5.15.8 wrong source code was published PYSIDE-2297
  • Bugs & Features
  • PYSIDE-1951 super() and `__lt__` operator issue related to our wrapper.
  • asyncio work continues
  • enhancements for python-for-android to improve the android stories
  • pyside6-android-deploy polished as well
  • 2299 memory leak might have special cases related to the callback
  • clang16 is giving some issues in Qt
  • Icon examples libraries for the python examples research
  • Snippet translator improvements

20. April 2023

  • Bugs & Features
    • Work on support for clang 16, which changes behavior quite a bit
    • Fixed PYSIDE-2284 issue with NoneType
    • Fixed PYSIDE-2285 Type hints / Tuples
    • Fixed PYSIDE-2298 and others, fixed some missing 6.5 API
    • Added new tools - pyside6-qmlsc (commercial only) and pyside6-qmlcachegen
    • Simplified tool adding process
    • PySide6 to Android Deployment blog published 🤞
    • PYSIDE-1564 Final approach was implemented with a new super() class. But This approach was not helpful. Issue finally closed.
    • PYSIDE-1951 A solution was finally found and implemented. Trying to improve.
    • PYSIDE-2304 Issue resolved, Cooperative Multiple Inheritance explained with a custom example, customer is happy
    • PYSIDE-2299 Cause for memory leak has been found, but fix will not be trivial (might require extensive refactoring in worst case).
    • Debugging QtAsyncIoEventLoop, partly functional but still early.

13. April 2023

  • General
    • SF 24.04 -> 16.05 ooo
    • CM 19.04 -> 27.04 ooo
    • QtCreator beta now includes an extra option to create virtual environments
  • Infra & Releases
  • Bugs & Features
    • Type hints PYSIDE-2284 issue with NoneType
    • 2283 Platform dependencies into our docs
    • Clang16 improvements to be compatible
    • Research on the missing DLL issue on Windows
    • Research on a memory leak possible related to Signal instances.
    • asyncio debugging with a self-made event loop
    • Improving the python-for-android changes to prepare a patch
    • Technical Preview blog post for Android in the making
    • PYSIDE-2294 multiple inheritance issue for a corner case with positional arguments
      • Researching a new approach that could improve things further

6. April 2023

  • General
    • New Python releases 3.11.3, 3.10.11
  • Infra & Releases
    • 6.5.0 released
    • 6.2.8 commercial LTS to go out soon
    • Review Maitenance Tool integration
    • qtpip server configuration still in progress
  • Bugs & Features
    • Android: preparing post, tests, and general improvements.
    • PYSIDE-2266 venv issue with the deployment tool.
    • Documentation was released for 6.5.0 and many things were polished.
    • Async: continue working on the event loop wrapper implementation.
    • Research on memory leak that pyqtgraph found
    • Brushing up tutorials: expenses
    • Adding new examples: simplebrowser, screen capture
    • Documentation: found some issues with qdoc (from the move of examples to auto tests)
    • PYSIDE-2278 type hinting issue was fixed
    • Improvements to the documentation
    • Cleaning imports from examples
    • Add isort to the development guide
    • Exploring other projects where Python can shine

30. March 2023

  • General
  • Infra & Releases
    • 6.5 to be released next week
    • including requirements.txt along the commercial bundle
      • research if possible retroactively
    • qtpip research continues
  • Bugs & Features
    • Features that needs to be in before 6.5
      • deployment tool nuitka patch
      • android tool
      • tutorial of thew new quick styled app
    • Improving enums to avoid using the old implementation
    • Deployment tool and android research continues
    • Async research on asyncio and trio proper integration
    • Refactoring
    • Shiboken examples are not displayed on the docs
    • Updating the new image of the project
    • Re-porting multimedia examples, simplebrowser
    • Initial support for permission API
    • small fixes on metaobjectdump


23. March 2023

  • General
    • QtWS CfP open
    • EuroPython talks submitted
    • Keeping an eye on future Python events
  • Infra & Releases
    • 6.4.3 is out
      • pypy3 3.9.12 compatible, newer versions included an incompatibility
    • 6.5 branching out today
  • Bugs & Features
    • async support continues.
    • Fixing a couple of issues related to the pyside6-deploy tool.
      • venv compatibility
      • qml apps are not properly working
    • android support almost ready for TP
    • PYSIDE-2261 cython signature module incompatibility fixed
    • Removed goto from PySide
    • Multiple inheritance issues were fixed.
    • old Enums are being removed, and the startup time will improve a bit (still in progress)
    • PYSIDE-971 GL funtions implementation
    • including texttospeech into the wheels (missing by mistake)
    • adapting scripts to 6.5
    • metaobjectdump issue fixed
    • doc updates

16. March 2023

  • General
    • Preparing submissions for Europython
    • New company colors
  • Infra & Releases
    • 6.4.3 release next week (no release branch)
    • Issues with Nuitka 1.5.1 (released yesterday) and the CI didn't like it. Pining 1.5
  • Bugs & Features
    • qtpip: add support for many other operators (for versions)
    • PYSIDE-2254 exit crash issue was fixed
    • PYSIDE-2251 designer issue when not initializing virtual environment.
    • qmlsurface example ported (polishing the C++ code as well)
    • example icons: discussions to standardize them a bit
    • android research: fixing some issues with qtquick
    • PYSIDE-1564 multiple inheritance work continues, really far but found new issues. Generalizing the solution a bit from a Shiboken point of view. Research on how shiboken handle multiple inheritance to be compatible with Python's way.
    • PYSIDE-2255 virtual method issue related to access to those members.
    • Generalization of QApplication usage on the tests.
    • Research: Add course to QtLearn related to Qt for Python
    • doc: some links are broken.
    • doc: migration to sphinx-design from sphinx-panels

9. March 2023

  • General
  • Infra & Releases
    • Preparing 5.15.13: release might be today if nothing goes wrong.
    • Wheel bundles on the account.qt.io, and soon to be available in the Maintenance Tool
  • Bugs & Features

2. March 2023

  • General
    • Preparing internal/external material
    • Next monday CI maintenance break
  • Infra & Releases
    • commercial wheel bundles available on account.qt.io
    • 6.4.3 release was postponed
  • Bugs & Features
    • Improvements for qtpip
    • postEvent() memory leak still has an unknown origin
    • PYSIDE-2236 QMetaMethod.fromSignal added
    • PYSIDE-2237 be careful with using reserved words in examples/docs/...
    • PYSIDE-2239 opaquecontainers wrong dunder name
    • PYSIDE-2206 Examples revamping
      • Maybe we keep some examples around even if they are removed in Qt/C++
    • Android work continues! looking good with 6.5
    • PYSIDE-1564 Multiple inheritance story was improved, still in progress.

23. February 2023

  • General
    • Giving a talk at Python La Paz (on Saturday) - in Spanish
  • Infra & Releases
    • 6.4.3 ready to start the release process
    • Change to fix the windows signing is merged
  • Bugs & Features
    • 3.12 compatibility changes will reach 5.15, 6.2, and the future 6.5 LTS
    • PYSIDE-79 (caused by PYSIDE-68) refcounting issues addressed
    • Continue the 3.12 support because of some new issues found
    • PYSIDE-1564: Multiple inheritance support is still being worked (old ABC issues might be related)
    • Issues with documentation build (sphinx)
    • Research on a memory leak related to the asyncio example: it's not related to asyncio, but from the posting action (pyside, and not Qt, because a C++ example with no async doesn't have any leak)
    • PYSIDE-2234 adding QRunnableCreate
    • fixed 6.5 issues with cross compilation
    • Designer examples revamp
    • Works continues on qtpip (a pip wrapper to install commercial wheels)
    • PYSIDE-2232 NixOS issues was fixed (another was deferred)
    • Research on the std::span support
    • Unity compilation research continues
    • Bug cleanup, closing and fixing old ones.
    • OpenGL getProc issue is being worked on.
    • PYSIDE-2192 interactive matplotlib issue (hook)

16. February 2023

  • General
    • Development of a tool for commercial wheel installation started, and other general improvements.
    • Blog posts -> 6.5 release, and Android research.
    • Don't forget about Europython.
  • Infra & Releases
    • Branching dev to 6.5 when the Qt/C++ 6.5.0 RC is out (16 Mar '23)
      • Only fixes go to dev with Pick-to: 6.5 if necessary
      • new features remain in dev (for 6.6)
  • Bugs & Features
    • nogil research was positive, and most of our test work. It would require for us to modify the generator for each function/module.
      • mandelbrot example works and improves its performance around 3.5 times.
    • Python 3.12 will include an incompatibility due to the changes in the type generation
    • It will be possible to install pyside6 in conda environments starting from 6.4.3 and 6.5
    • commercial identifier on commercial wheels will be replaced to be compatible with distutils
    • asyncio research continues
    • Adapting the deploy tool to include compatibility with android (in progress)
    • research on ML-based tool to transform c++ <-> python
    • Getting started docs updated
    • qtdoc documentation content will be included in the docs
    • doc issues: some broken links and references
    • General slides to be updated


09. February 2023

  • General
  • Infra & Releases
    • LTS tags cannot be pushed to community repo (permissions), hopefully in this week.
    • Maintenance Tool updates soon
    • Binary signing still need a little change to be working
    • dev to use 6.5 starting today
  • Bugs & Features
    • Android research in progress, looking good :)
    • A solution was proposed to fix the usage of PySide6 in conda environments: still needs tweaks to work, mainly related to an internal qt.conf that's loaded at runtime.
    • PYSIDE-2222 custom widget plugin, load with uic crash
    • PYSIDE-2201 was fixed: introducing weak references into the SignalInstances.
    • PYSIDE-79 was possible to solve (from PYSIDE-68 solution). Still needs to some documentation to be written.
    • PYSIDE-2221 research on future compatibility with NoGIL Python https://github.com/colesbury/nogil https://peps.python.org/pep-0703/
    • https://github.com/blueloveTH/pocketpy also interesting

02. February 2023

  • General
    • Europython 2023 will be in Prague! 17-23 July
  • Infra & Release
    • Improving wheel creation in our CI (signing windows, and other things)
    • Soon we will have released LTS in the OSS repo (after some complications)
    • CI Maintenance break coming next Monday (keep an eye open to the Python configuration)
  • Bugs & Features
    • Unity builds were helping pyside/shiboken, and some tests are being done in qt/c++
    • meta task on revamping examples in the Qt Project
    • Adding uic functionality and documentation
    • Doc reviews, some issues were found
    • Android development continues, and looks good!
    • introducing --log-level to change --verbose-build and --quiet
    • Overhaul of Signal/SignalInstance continues:
    • create_wheels.py --builddir to explicitly provide build directory
    • WIP: QtAsyncIoEventLoop using Qt's event dispatcher, using BaseEventLoop and BaseSelectorEventLoop for guidance

26. January 2023

  • Infra & Releases
    • Fixed issues with Windows signing
  • Bugs & Features
    • Fixed PYSIDE-2204 qt.conf encoding
    • Fixed bugs in pyside6-metaobjectdump (QML) PYSIDE-2202 , PYSIDE-2203
    • PYSIDE-2194: Possibly requires refactoring of QLowEnergyController to use the new WinRT API, instead of COM API
    • Android Deployment - Patches incoming to automate cross compilation to produce android wheels
    • Overhaul of Signal/SignalInstance
      • Implement Weak Reference Handling
      • PYSIDE-2201 Handle early destruction of the object better
      • PYSIDE-79 Trying to finally fix the reference leak using weakref.
    • Alternative approach to Anaconda issue: Register internal qt6.conf with site-packages prefix (still WIP).
    • WIP: Implement class QtAsyncIoEventLoop(asyncio.AbstractEventLoop) that wraps around Qt's event loop to enable Qt + asyncio.
    • Memory leak with current asyncio example (or space leak?)

19. January 2023

  • General
    • Hackathon in TQtC
    • The WebAssembly PySide Team was almost doubled in size (+1 brain, +1 hand)
  • Infra & Releases
    • Windows signing to be improved.
    • LTS releases into oss repo: some issues appeared but will be merged soon.
  • Bugs & Features
    • PYSIDE-1994: De-virtualization of Shiboken embedded Python files is now an option controlled dynamically by SBK_EMBED
      • PYSIDE-1019: A dormant __feature__ initialization timing problem was fixed while implementing de-virtualization
    • PYSIDE-1735: De-coupling of old and new enums was started
    • PYSIDE-1564: Debugging of multiple inheritance continues
    • Fixed some bluetooth functions in PySide6.
    • Low Energy Scanner Example
    • PYSIDE-2194: Progressing with this. Definitely a thread issue which allow-thread doesn't seem to fix.
    • Possible solution for problems with PySide6 inside conda (compat package with qt6.conf file), but investigating if best solution

12. January 2023

  • General
    • Next week is Hackathon, meeting will be shorter
    • Discussion on how to gather information, and sharing material around Qt for Python
  • Infra & Releases
    • 6.5 RC planning -> feature freeze for PySide
    • 6.4.2 was released last Monday
    • CMake Jumbo builds issue with Windows signing
    • LTS branches to land in pyside-setup soon
  • Bugs & Features
    • Async examples: addressing memory leak and cpu usage due to the event loop interactions
    • Review conda packaging story and PySide6
    • De-virtualization of Python files: still some issues
    • Incompatibility with pywin32: __feature__ related when trying to check if the ext module uses PySide. Also related to an issue with the inspect module.
    • Installing PySide6.support via CMake (was previously not considered)
    • Work continues on the multiple inheritance issues related to classes based on QObject
    • locate issues related to to* methods
    • std::array support in shiboken (still in progress)
    • fixing imports in matplotlib examples
    • adaptation to 6.5
    • splitting shiboken generator source to its own
    • Android deployment works - tested on Widget applications
    • Fixing QTBUG-109510 leading to discovering issues with certain functions in PySide6. Being fixed.

5. January 2023

  • General
    • Next monday CI maintenance
    • OKRs
  • Infra & Releases
    • 5.15.12 LTS, 6.2.7 LTS released
    • Open Source LTS releases to be moved to the pyside-setup
    • 6.4 CI hanging, issues on lts-5.15 due to Python
    • 6.4.2 to be release in the following days
  • Bugs & Features
    • PYSIDE-1931 SQL issue regarding allow-thread
    • helping 6.5 translations
    • Adaptations with 6.5
    • QSharedPointer -> std::shared_ptr attempt
    • research on adding std::span into shiboken
    • PYSIDE-2160 properties qml types issues
    • Tutorials language review
    • Android research continues
    • QTBUG-109510 BTLE issue on pyside