Qt for Python Development Notes

From Qt Wiki
Revision as of 09:23, 31 March 2022 by Ctismer (talk | contribs) (→‎2022)
Jump to navigation Jump to search

2022

31. March 2022

  • Bugs & Features
    • PYSIDE-187O fixed.
    • Wheel size reduction - new flag --no-size-optimization - ready to merge.
    • pyqmlscene (starts with PySide6QmlPlugin) in the working. Requirements gathering from Qml team.
    • shiboken6-genpyi was fixed (was not functional after the Python virtualization)
    • adaptation of PySide6.__all__ after the wheel split, still a problem not understood
    • PYSIDE-1735: Use Python Enums to handle Qt Enum. Making fast progress.
    • PYSIDE-535: completing PyPy documentation to introduce the project for 6.3

24. March 2022

  • Infra & Releases
    • 6.2.4 was released
    • 5.15.3 sources were updated to include pyside2-tools, and 3.10 compatibility.
    • We will replace 3.6.1 by 3.7.x to test on windows
    • Adding new set of wheels to the download.qt.io snapshots
  • Bugs & Features
    • Research on reducing wheel sizes via compiling flags and other things.
    • REG PYSIDE-1870 still in progress
    • Fixing doc issues, and sphinx related changes.
    • 1862 top level cmake build fixed
    • 1868 crash on frame buffer (factory function)
    • Adapting to changes in Qt/C++
    • share_ptr handling refactoring to write independently of the platform
    • wheel_tester issue on macos was fixed (scriptableapplication building with qmake only), it uses cmake and ninja now.
    • Issue in pyside6 re-introduced an old issue: https://codereview.qt-project.org/c/pyside/pyside-setup/+/401438
    • Continue with the work on Enums in PySide
    • Improvements to the create wheel process

17. March 2022

  • General
  • Infra & Releases
    • 6.2.4 release is ready to be out today.
    • LTS 5.15.3 source code will be re-uploaded due to missing pyside2-tools
  • Bugs & Features
    • QmlExtension research for PySide projects
    • Research for new ideas to improve PySide and Shiboken
    • Stripping binaries a bit to reduce wheel size
    • QtPropertyMap is not exposed
    • Update the documentation (Signal/Slots, modules desc, and more)
    • Replacing count() functions by size() internally.
    • Improving the testing framework (special cases for apple silicon)
    • PYSIDE-1843: Continue fixing failing tests for PyPy
    • Research: Improvements to Qt Enums to rely on Python Enums
    • Wheel splitting might need a small size increase on PyPi

10. March 2022

  • General
    • Position still open and many candidates in the pipeline.
  • Infra & Releases
    • Python CI version updates: 3.8 (linux) 3.7 (win) mac (3.9)
    • PyPy issues on the CI being addressed, almost fully functional.
    • 6.2.4 still waiting for Qt to be released.
    • 5.15.3 source was released according to the KDE Free Qt Foundation
      • Sadly, it doesn't include the patches to be Python 3.10 compatible
  • Bugs & Features
    • Research on new PySide features on-going, extra things, internals, and performance
    • QtNfc module was added
    • qFuzzyCompare issue was fixed
    • Improvements on the shiboken containers parsing
    • Compatibility with older python version and pypy tests
    • QmlPropertyMap issue was fixed
    • Still fixing tests for PyPy and new Qt builds
      • New issues were found, but many were fixes. At the moment: 14 in Core, and 18 in all the modules
    • New wheel structure being discussed: splitting the big wheels into at least two

3. March 2022

  • General
  • Infra & Releases
    • 6.2.4 ready to be released, but qt was postponed for 15.03.2022
    • PyPy CI builds are still being tested
    • Next week there will be a CI maintenance break
    • Python versions: 3.6 (linux + win) 3.9 (mac) | 3.10 test win
      • 3.6 will be deprecated in 6.3, so we will change CI versions
      • 3.8 (win), 3.10 (x), 3.7 (x)
    • 6.3 branching still pending a few wheel modifications, and tags.
  • Bug & Features
    • PyPy build on windows presented a few challenges, and PyPy issues were found and reported.
    • pyi generation also had issues due to a virtualenv + windows configurations being wrong, regarding the import orders.
    • Enum refactoring is still in progress.
    • container conversion research
    • 1835 building 5.15 without limited api
    • qml research on property values, and group properties will be fix as well
    • research on new opportunities to improve PySide as a Python module
    • re-working the wheel generation

24. February 2022

  • General
  • Infra & Releases
  • Bug & Feature
    • PYSIDE-1824 BT issue was fixed
    • PYSIDE-1826 Image provider
    • PYSIDE-1827 metatype slot pending (metacall handle improvements)
    • Research on arguments conversion
    • PYSIDE-1815 set modified parameter function (reddit example)
    • PYSIDE-1809 signature modules issues.
    • PYSIDE-1821 Byte handling changes
    • Research on new ideas for the PySide module
    • PYSIDE-1705 Property support in constructors (relation with __feature__)
    • PYSIDE-1735 Python Enums to handle Qt Enums (prototypes)
      • PYSIDE-1731 mypy regression issue (related to enums)
    • PyPy work continues, focused on compatibility with the newest version (supporting python 3.9)


17. February 2022

  • General
    • New Documentation Engineer joined the Foundation Area.
  • Infrastructure & Releases
    • 3.10.0 configuration to be tested
    • Research on improvements for the packages in download.qt.io
    • Testing PyPy on the CI
    • Python 3.6 will be deprecated in PySide 6.3 and removed in 6.4
  • Bugs & Features
    • Addressing compatibility with other deployment tools.
    • QmlExtended QmlAttach will be available in 6.3
    • PYSIDE-1812 cross build task custom clang options
    • Research with C++20 to build pyside, and vector call new API in 3.9+
    • PYSIDE-1765 PYSIDE-1763 __feature__ issues were fixed and working on providing support for property in constructors PYSIDE-1705 (a bit more difficult)
    • PYSIDE-1815 QtNetworkAuth.QAbstractOAuth is missing modifyParametersFunction/setModifyParametersFunction
    • PYSIDE-1821 Add support for std::byte
    • PYSIDE-1809 wrong name type annotation for setProperty() and property()

10. February 2022

  • General
  • Bugs & Features
    • PYSIDE-1806 CMake version check fixed
    • PYSIDE-1804 Big endian test failure fixed
    • Work in progress to add further QML decorators
    • PYSIDE-1702 snake_case handling now does explicitly not touch user defined classes.
    • PYSIDE-1758 Leave the underscore variable alone in QApplication
    • PYSIDE-535 Remove a disambiguation patch no longer needed
    • PYSIDE-1765 Widget subclass' minimumSizeHint not called with true_property
    • Work in progress on: PYSIDE-1753 setStyleSheet available even if snake_case (complex)

03. February 2022

  • General
  • Infra & Releases
    • 6.2.3 was released.
    • Waiting for a scheduled CI break on Monday
    • OSS packages for 5.15.3 source to be available soon.
  • Bugs & Features
    • Updating new Qt dev API (targeting 6.4)
    • Adjusting a designer issue with a crash on views
    • Improving examples: Old OpenGL API
    • PYSIDE-1801 signal crash issue addressed
    • PYSIDE-1804 QByteArray issue
    • Improving QML: getting some issues with QML_ATTACHED
    • Writing PyPy Documentation to explain motivation, changes, and usage.
    • PyPy Compatibility:
      • Got nice performance results with the working mandelbrot example
      • Still working on some last tests that are not properly working.
    • PYSIDE-1798 fixing enum issue
    • Continue the work on the python-lsp issues on QtCreator

27. January 2022

  • General
    • Communicate issue with Apple Silicon and our wheels. There is a bug on Python so using limited API and creating wheels with Python 3.8, make them unusable for 3.6 and 3.7
  • Infra & Releases
    • 6.2.3 to be release soon.
  • Bugs & Features
    • Qt Creator LSP issue has an initial solution
    • Curating a list of new features for Shiboken
    • Working on an issue related to help() function on top of custom modules
    • PYSIDE-1057 memory leak in progress
    • Fixing examples to be compatible with PyPy and addressing corner cases
    • QPainter was transformed into a context manager
    • Building pyside with PyPy 3.8 is possible (3.9 is still in alpha)
    • Working on a new tree example
    • 1788 allow-thread issue with event functions
    • Add threaded OpenGL example
    • Add data()/constData() to OpaqueContainers
    • Continue work on QML integration

20. January 2022

  • General
  • Infra & Releases
    • 6.2.3 release next week
    • Waiting a bit before branching 6.3
  • Bugs & Features
    • QtCreator Python LSP issue to be worked on
    • Continue with the research related to new Shiboken features.
    • Fixing general bugs from support
    • Adapting new API for 6.3
    • Improving QML story with custom types
    • PyPy compatibility is focused on making some last examples to work, some issues with PyPy are being found as well.

13. January 2022

  • Infra & Releases
    • Maintenance in the CI, still a few things to be improved.
    • New version of Gerrit is available as well.
    • 5.15.8 Commercial LTS was released
    • 5.15.2.1 to be release soon, special version with Python 3.10 support
  • Bugs and Features
    • PYSIDE-1755 Fixing issues with __code__ (related to slots)
    • Improved documentation
    • Looking for new features for Shiboken
    • Working on improving the LSP story on QtCreator https://github.com/python-lsp/python-lsp-jsonrpc/issues/5
    • PYSIDE-1764 suggestion on avoid the generation/wrapping of methods within objects.
    • PYSIDE-1730 signal/method namespace crash, generated by old fixes on old bugs.
    • Add capacity/reserve functions to OpaqueContainers
    • QML references examples issues, to discover missing details on the qml interaction
    • Clarifying the conversion rules on the typesystem: native, target
    • PYSIDE-1768 and PYSIDE-1769 WebEngine issues were solved.
    • uic missing imports
    • PYSIDE-1751 equality test for signals is rewritten and working better
    • QXYSeries: adding missing addons to enable methods


06. January 2022

  • General
    • New bridge between Telegram <-> IRC
  • Infra & Release
    • Planning 5.15.2 new release (5.15.2.1) to include Python 3.10 support.
    • 5.15.8 Commercial LTS to be release in the next couple of days.
    • 6.2.3 planned for 2022.01.18
  • Bugs & Features
    • PYSIDE-1755 __code__ inspection on slot connection is buggy (breaks, e.g. MagicMock testing)
    • Ported new examples QRegularExpression editor and MimeTypes
    • Research to get new Shiboken features
    • Updating translations
    • In progress enabling qmllint in pyside project thanks to an external tool
    • Addressing signal issues for different use-cases, multiple inheritance
      • There is a relation with PyPy issues as well
    • PYSIDE-1760 Racing condition without virtual environments (preloading setuptools)
    • true_property issues were solved.
    • continue work to have a more modular pyside installation with more wheels
    • research on manylinux compatibility

2021

2020

2019

2018