Qt for Python Development Notes: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
Line 10: Line 10:
** https://bugreports.qt.io/browse/PYSIDE-1625 exec_ regression
** https://bugreports.qt.io/browse/PYSIDE-1625 exec_ regression
** https://bugreports.qt.io/browse/PYSIDE-1623 missing docs
** https://bugreports.qt.io/browse/PYSIDE-1623 missing docs
** https://bugreports.qt.io/browse/PYSIDE-1621 Windows problem fixed by removing temp files
** Debugging memory leaks
** Debugging memory leaks
* Features
* Features
** Research on  https://bugreports.qt.io/browse/PYSIDE-1605 (directly wrapping C++ containers instead of converting them)
** Research on  https://bugreports.qt.io/browse/PYSIDE-1605 (directly wrapping C++ containers instead of converting them)
** Prototype/Discuss: Remove signature loader completely from physical FS (6.2 I guess)
* Other
* Other
** Fixed up documentation for 6.2
** Fixed up documentation for 6.2

Revision as of 16:30, 22 July 2021

2021

22. July 2021

15. July 2021

  • Infra & Releases
    • CI has some issues related to qtbase and Windows
  • Bugs
    • https://bugreports.qt.io/browse/PYSIDE-535 Issues when transforming Macros to Functions, leaks were found
    • Fix memory leaks in shiboken
    • QMultiMap and QMultiHash was not properly handle (defaultdict) | behavioral change
      • Before it was a a normal dict, with the last value (all the other values were not preserved)
  • Features
    • https://bugreports.qt.io/browse/PYSIDE-1252 support classmethods in signatures and properties (static methods become properties, and that's the relation with classmethods)
    • Adding QtDBus (QPendingReply is missing) and QtNetworkAuth modules
    • Tools like qdbusxml2cpp is not supported yet.
    • Remote Objects getting some contributions.
    • Refreshing QML code and good practices, adding new examples, etc
    • WIP qmlRegisterSingletonInstance and research on QML_NAMED_ELEMENT
    • Improve docs: icons, style, content.

08. July 2021

  • Infra & Releases
    • Planning next releases.
  • Bugs
    • 1334 .connect returns now a bool to verify the connection.
    • 1613 logging level
    • 1618 session manager issue (Qt bug)
    • 1619 discussion on accepting the QSettings.value (still in progress)
  • Features
    • lupdate now has support for Python, and will be available in 6.2 (+ docs)
    • adding new API for WebEngine
    • gettext tutorial
    • pathlib support continues (QUrl)
    • PyPy compatibility: still addressing the issues related to the type extensions.
    • ApiExtractor: add classmethod attribute to add-function for tr()
    • Attempting to expose QtDBus
    • Improving docs and tutorials
    • Experimenting with python-only modules.

01. July 2021

  • Infra & Releases
    • 6.1.2 ready to go out
    • Trying CI debug configuration
  • Bugs
    • Documentation broken links, and improve Designer tutorials.
    • PYSIDE-1609 findChild fixed
    • PYSIDE-1370 QSharedMemory fixed
    • PYSIDE-131 Translations issues fixed (with the problem that we don't have lupdate support on PySide6)
    • QtSensors issues on the CI due to update solved.
  • Features
    • PYSIDE-535 PyPy Support still on going.
    • Adding more missing classes.
    • Analysing deployment scenario for PySide applications.

24. June 2021

  • Feedback from Akademy 2021 sessions
    • Tutorials on the Designer process, and other process that might be simple for Qt users, but unknown for Python users.
    • More examples on the QML - Python interaction.
    • Improve documentation
    • Qt Creator support
    • Template tool
  • Release and Infra
    • 6.1.2 coming next week.
  • Bugs
    • PYSIDE-131 in progress, related to translation with automatic language tools.
  • Features
    • Trying to address issues related to PyPy (type declaration, and extension structure)
    • Add new qml functions (update missing binding)
    • Multimedia changes
    • WebEngine is partially in the repo.

17. June 2021

  • Release and Infra
    • Commercial LTS release 5.15.5
    • New Debug VM setup ready to test
    • Testing new architecture to handle universal binaries on M1 machines
  • Bugs
    • PYSIDE-1599 Issue with .pyi files on the CI (to test them) is now fixed, considering wrong signatures that we had and didn't detect.
    • Seems like there is something going on with the --quiet options and log levels.
    • Cleaning old bugs that were invalid
  • Feature
    • Qt6 API adaption
    • There are some corner cases with pathlib that need to be documented and fixed.
    • Changes to rely on qtpath instead of qmake (from qt6 changes)
    • Testing aarch64 and M1 builds

10. June 2021

03. June 2021

  • Release and Infra
    • Qt 6.1.1 scheduled for Friday (might be release next week)
    • Commercial LTS 5.15.5 scheduled for the 10th.
    • Research on M1 build on the CI
    • Debug build on Windows to be tested.
    • The possibility of releasing Docker images is being addressed
  • Bugs
  • Features
    • Small cleanups and fixes
    • Added more API (PYSIDE-1586) for qtbase for starters
    • Working on native interfaces (PYSIDE-1568)
    • pathlib support https://bugreports.qt.io/browse/PYSIDE-1499
      • File system paths in Qt are supported
    • Discussion on new repo structure.

27. May 2021

  • Release and Infra
    • 5.15.5 LTS (Commercial only) release planned.
    • 6.1.1 to be release soon.
    • Debug build on Windows (using python_d.exe and pass '--debug' when building, and remove the '--limited-api=yes')
    • Research: M1 build CI testing
  • Features
    • Improvements to the general pyi generator, and features.
    • pathlib compatibility still in progress
    • Shiboken documentation: unused code
  • Bugs
  • Changelog policy
    • [Changelog] This class will act like..., to be used for important changes.
  • Research
    • performance tests
    • Tool: report new classes per Qt versions.
    • Missing Qt API
    • new structure cmake/build

20. May 2021

  • 6.2 considerations (checking on newly added modules, examples, tests)
  • Added textedit example
  • Features
    • PYSIDE-1415 Make `generate_pyi.py` usable for any binding - checked in
    • PYSIDE-1019 __feature__: Support generation of modified .pyi files - done, needs cleanup
  • Bugs
    • PYSIDE-1564 QObject does not support cooperative multiple inheritance
      • working patch written but wrong, the problem is much harder since we need to call __init__ along the MRO and handle keyword args.
    • PYSIDE-229 Signal disconnect fails in multiple inheritance situation
      • postponed until the above problem is solved since it voids all debugging done

13. May 2021

06. May 2021

29. April 2021

22. April 2021

15. April 2021

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

08. April 2021

  • No meeting

01. April 2021

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

25. March 2021

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

18. March 2021

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

11. March 2021

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

5. March 2021

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

25. February 2021

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

18. February 2021

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

11. February 2021

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

4. February 2021

28. January 2021

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

21. January 2021

  • Infra update
    • 'dev' branch seems to be the only broken (maybe 5.15)
    • Provisioning is affected
    • need to create lts-5.15 branch for commercial releases
    • WinRT is broken (at a Qt/CI level)
  • Bug fixes
  • Features
    • Rename internal shiboken import: 'from shiboken6 import shiboken6 as Shiboken' -> 'from shiboken6 import Shiboken'
      • Both options in 6.1,
      • Only 'from shiboken6 import Shiboken' from 6.2 on.
    • Designer plugin: set environment in the launcher script (instead of the rpath option)
    • Removing extra QtCharts namespace (it was removed in Qt) -> QtDataVisualization?
      • Externals helping the migration process.
    • https://bugreports.qt.io/browse/PYSIDE-1477 clang options for shiboken cross build
  • Starting work on new tutorials and applications (Data Science and visualization)

14. January 2021

7. January 2021

  • Infra update
    • libclang install fixes (issues related to 6.0 and 10.0)
      • from the MSVC update, we require 10.0 for 5.15 and 6.0
  • Bug fixes
    • PYSIDE-1447 qapp flag
    • PYSIDE-1463 snake_case init issue
    • PYSIDE-1470 shiboken delete qapp
    • PYSIDE-79 reopened due to a leak introduced by the fix to PYSIDE-68
  • Features
    • Possible research PYSIDE-163
    • Refactoring shiboken
    • PYSIDE-1455 designer plugin
    • Snippets translators
    • Deployment story for PySide6

2020

2019

2018