Qt for Python Development Notes: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
Line 10: Line 10:
** Continued [https://bugreports.qt.io/browse/PYSIDE-1880 PYSIDE-1880] QDataVisualization
** Continued [https://bugreports.qt.io/browse/PYSIDE-1880 PYSIDE-1880] QDataVisualization
** String migration of the code according to [https://bugreports.qt.io/browse/QTBUG-98434 QTBUG-98434] and related cleanups
** String migration of the code according to [https://bugreports.qt.io/browse/QTBUG-98434 QTBUG-98434] and related cleanups
** Improved isolation between tests and __feature__ settings, reset() method implemented.
** Migration to PyEnum [https://bugreports.qt.io/browse/PYSIDE-1735 PYSIDE-1735] is now error-free:
** Migration to PyEnum [https://bugreports.qt.io/browse/PYSIDE-1735 PYSIDE-1735] is now error-free:
*** qformlayout_test.py gives phantasy values when no elements exist. Python enums can't handle that.
*** qformlayout_test.py gives phantasy values when no elements exist. Python enums can't handle that.

Revision as of 15:56, 4 May 2022

2022

28. April 2022

  • Bugs & Features
    • Fixed PYSIDE-1895, strings with 0 chars.
    • Diagnosed PYSIDE-1893, object deletion with lambdas.
    • Worked on PYSIDE-1859, native Win handles
    • Continued PYSIDE-1880 QDataVisualization
    • String migration of the code according to QTBUG-98434 and related cleanups
    • Improved isolation between tests and __feature__ settings, reset() method implemented.
    • Migration to PyEnum PYSIDE-1735 is now error-free:
      • qformlayout_test.py gives phantasy values when no elements exist. Python enums can't handle that.

21. April 2022

  • Infra & Releases
    • 6.2.4 is the las OSS release, 6.2 LTS being prepared
    • 6.3.x will continue as the new OSS release.
    • Issues from people having 6.2.4 and upgrading to 6.3.0. The recommendation is to uninstall the old version and install the new version. This is mainly to an issue we found while upgrading that files were removed, leaving no Qt modules available.
  • Bug & Features
    • QDataVisualization + ItemModel request for data handling (performance discussion), issues seems to be on the C++ implementation of the module.
    • https://bugreports.qt.io/browse/PYSIDE-1859 Windows handle classes issue
    • Found some issues with previous setuptools versions on Linux
    • 1890 fixing cmake build for the new __all__ resolution.
    • New Enum implementation for PySide is already in progress, it's aimed to be in place for 6.4 to avoid breaking existing code. Be aware, that there are things that are currently supported by a wrong implementation, and code adaptation will be required.
    • Improving tests overall (due to the enum changes)

14. April 2022

  • Infra & Releases
  • Bugs & Features
    • Continue the research on qml plugins and deployment story
    • Refactoring and improvements to the build_scripts
    • Python Qt Enums in progress, still some hard-to-find issues to solve
    • 1627 issue regarding QAction API related to QMenu
    • Shiboken refactorings
    • 1883 QTest issues
    • 1880 Request for 3D ItemModel functionality -> added new examples
    • Smart pointers and std::optional support

7. April 2022

  • Infra & Releases
    • New commercial 5.15 releases, difficulties with libclang 12
    • _Py_Mangle issues on >=5.15.4 to be included in 5.15.4 source packages (and others)
    • Branching 6.3 in the next days.
  • Bugs & Features
    • PYSIDE-1876 qmlparserstatus issue fixed
    • Fix TOC doc issue and adapt new qtbase changes
    • refactorings to reduce size of generated code
    • smartpointers improvements, adding tests and tuning implementation
    • PYSIDE-1878 improving qml and python interaction (plugins)
    • Working on the new Qt Python Enums approach (will be a TP with a compile time option)
    • Improve some issues on 5.15.x regarding Python 3.10 compatibility (_Py_Mangle)

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
    • PYSIDE-1874 SIGSEGV when accessing __doc__ of a Property fixed

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