Qt for Python Development Notes

From Qt Wiki
Jump to navigation Jump to search

2023

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

2022

2021

2020

2019

2018