|
|
| (134 intermediate revisions by 9 users not shown) |
| Line 1: |
Line 1: |
| [[Category:Pythonic]]
| | #REDIRECT [[Qt_for_Python]] |
| == Pyside for Qt 5.x ==
| |
| | |
| The Pyside 2 project aims to provide a complete port of PySide to Qt 5.x. The development started on [https://github.com/PySide GitHub] in May 2015. The project managed to port Pyside to Qt 5.3, 5.4 & 5.5. During April 2016 The Qt Company decided to properly support the port (see [https://groups.google.com/forum/#!topic/pyside-dev/pqwzngAGLWE details ]).
| |
| | |
| This wiki page tracks the progress of PySide for Qt 5.x development and provides further information concerning the effort.
| |
| | |
| === Tools ===
| |
| The following tools are used to develop PySide:
| |
| * Bug tracker: https://bugreports.qt.io/browse/PYSIDE
| |
| * CodeReview: https://codereview.qt-project.org
| |
| * Git repo: ssh://codereview.qt-project.org/pyside/pyside-setup (dev branch is Pyside2)
| |
| | |
| === Getting started ===
| |
| | |
| [[PySide2_GettingStarted|Getting started with PySide2]]
| |
| | |
| === Backlog ===
| |
| | |
| The list below represents some short term targets and long term ideas for Pyside2 development. There is no guarantee that this will happen as written down. It is meant as a short reminder and idea collection for future development. In the long term this list is likely to move to https://bugreports.qt.io/browse/PYSIDE.
| |
| | |
| # First time with Pyside (Document how to get started on this wiki)
| |
| # Testing Infrastructure
| |
| ## What has been done so far?
| |
| ## Qt CI support (PYSIDE-431)
| |
| ### make test
| |
| ### cmake based build system (all repos)
| |
| ### pip installable Pyside
| |
| #### CI has to setup virtual Python environment
| |
| #### Use pip to install/build Pyside
| |
| # Future changes to PySide
| |
| ## Gaps (modules & API)
| |
| ### Identify the extent of the gaps by porting existing examples from Qt4 to Qt5 (done)
| |
| ### Plugin system (in what form or shape do we need it is uncertain - some failing tests exist already)
| |
| ### Prepare a summary of gaps for other modules
| |
| ## Fundamental Architecture changes
| |
| ### Shiboken
| |
| #### Clang support (PYSIDE-323)
| |
| ### QtQML support (PYSIDE-355)
| |
| ## MyPy (type annotation - fully typed Python API)
| |
| ## General Python features and their adoption in PySide (e.g. Async I/O)
| |
| ## Creator and tooling
| |
| ### Fix QtC debugger to understand Python/C++ mixed internals
| |
| | |
| === Pyside Development Progress Notes ===
| |
| | |
| The most current view of the progress can be found in Jira:
| |
| | |
| # [https://bugreports.qt.io/secure/IssueNavigator.jspa?mode=hide&requestId=17825 Unresolved issues] | |
| # [https://bugreports.qt.io/secure/IssueNavigator.jspa?mode=hide&requestId=18025 All issues (including resolved)]
| |
| | |
| The second link is useful to monitor the progress of the backlog. The best way to achieve this is to sort the list by the "Updated" column.
| |
| Larger backlog/feature items are filed as "User Stories" in Jira.
| |
| | |
| ==== 17 November 2016 ====
| |
| - Pyside team suffering from sickness -> not much progress this week
| |
| - Pyside-79 fix had a lot of negative side effects (breaking existing tests)
| |
| - internal object reference counting is the predominant issue at hand
| |
| - continue to work on the bug (no resolution yet as delayed due to sickness)
| |
| - COIN some progress but still open discussions on branching policy required
| |
| | |
| ==== 11 November 2016 ====
| |
| - PYSIDE-79 being fixed
| |
| - PYSIDE-315 to be addressed
| |
| - Shiboken and Clang
| |
| - familiarizing with clang and its parser's inner working
| |
| - added experimental qmake project definition for shiboken (makes work in Qt Creator easier)
| |
| - Qt QML on Pyside work progressing
| |
| - work on COIN did not progress due to conflicting priorities inside COIN development
| |
| | |
| ==== 3 November 2016 ====
| |
| - working through the QML stack esnuring all required API's are exported (https://codereview.qt-project.org/#/c/175682/)
| |
| - small build system patches
| |
| - PYSIDE-79 work progressing
| |
| - OpenGL support fixed (PYSIDE-314)
| |
| - COIN issues
| |
| - repo interdepencies not working yet, suggestion under discussion and to be implemented
| |
| - most license checks have been fixed
| |
| - Qt 5.6 based Pyside to skip check
| |
| - after branching for C++11 work the dev branch should work from license check perspective
| |
| - eventually the entire CI needs to run through (more hidden problems could be hidden)
| |
| - Started working on C++11 compliant parser for shiboken
| |
| - libclang will be used
| |
| - first target is to replace the AST tree implementation
| |
| - requires clang setup in the CI
| |
| | |
| ==== 27 October 2016 ====
| |
| - Work on WebKit/WebEngine support
| |
| - Further work on [https://bugreports.qt.io/browse/PYSIDE-431 COIN] support
| |
| - Planning meeting
| |
| - Workshop for C++11 support in Pyside ([https://bugreports.qt.io/browse/PYSIDE-323 PYSIDE-323])
| |
| | |
| ==== 20 October 2016 ====
| |
| - [https://bugreports.qt.io/browse/PYSIDE-355 Qt Quick support] submitted
| |
| - [https://bugreports.qt.io/browse/PYSIDE-314 QtOpenGL support] submitted
| |
| - Further work on [https://bugreports.qt.io/browse/PYSIDE-431 COIN] support, license headers
| |
| ==== 13 October 2016 ====
| |
| - Qt CI update
| |
| - Coin changes have merged but integration not yet working
| |
| - Qt CI enables on Pyside side merged
| |
| => COIN integration fails with license issues
| |
| => requires review of license conditions for all files, some files are not even relicensable
| |
| => skipping license check for now, most likely to be done later again but requires changes to license check script
| |
| - more issues of interworking between QtCI and Pyside expected (won't be visible until license problems resolved)
| |
| Open issue: does a change in Pyside repo trigger a rebuild of everything?
| |
| - Qt QML support progressing and first patches merged
| |
| - serious bugs have been fixed, more complex QML examples are now working
| |
| | |
| ==== 29 September 2016 ====
| |
| - Coin integration close but not merged
| |
| - Bugfixing in particular on the shiboken parser side
| |
| - QML/Python binding and tests fixed -> general check all day-to-day aspects of QML are working
| |
| - QML examples porting
| |
| -> still some failing tests
| |
| -> Check all QML/Quick class are exported
| |
| | |
| ==== 22 September 2016 ====
| |
| - Refactored Shiboken, udnerstanding build sequences
| |
| - black list for unit tests defined and tested
| |
| - fixing of tests
| |
| - QML example fixing continued (QML bindings not working)
| |
| - Pyside side for COIN done (pending integration checks)
| |
| - COIN integration still wip due to long test and retest cycles
| |
| - pyside and shiboken repo to be relicensed similar to other Qt products
| |
| => this should address any issues regarding the status of generated code too
| |
|
| |
| ==== 16 September 2016 ====
| |
| - Pyside side for CI testing ready for testing
| |
| - status of COIN side to be determined. Code exists need help from CI team to confirm status.
| |
| - build system infrastructure improvements in pyside setup
| |
| - Qt logging now working
| |
| - and more
| |
| - Update on bug handling
| |
| - PYSIDE-88 continuing
| |
| - PYSIDE-349 (Multimedia ported)
| |
| - PYSIDE-344 fix pending on codereview
| |
| - make debug builds of Pyside work (OSX works, Linux has work in progress patch, Windows side awaiting contribution)
| |
| - QML support work in progress
| |
| - examples are slowly ported with aim to identify bugs
| |
| | |
| ==== 25 August 2016 ====
| |
| - Properly implementing QML experience in Pyside
| |
| - Unit test fixing
| |
| - automated CI testing for Pyside
| |
| - working locally but still failures occurring on various other test machines
| |
| | |
| ==== 4 August 2016 ====
| |
| - Additional Pyside examples under review
| |
| - Fixed warnings coming from Shiboken
| |
| | |
| ==== 21 July 2016 ====
| |
| | |
| - main Pyside 2 example port done
| |
| - additional examples to fill gaps are being ported (as per prio list)
| |
| - CI patches running, but still gaps (should be done by next week)
| |
| - about 86% of auto test working (failing count of test 80+ auto test)
| |
| - [[pyside-Teststatus|Project Test Status]]
| |
| | |
| ==== 14 July 2016 ====
| |
| | |
| - Pyside 2 examples ported
| |
| - OpenGL & SVG not working
| |
| - QtQuick 2 is in strange situation (QtQml depends on QtQuick)
| |
| - Python 3 realed Unicode handling not working with Qt
| |
| - QMessageBox hangs
| |
| - no documentation for any example
| |
| - lots of warnings when building wrapper
| |
| - results: https://paste.kde.org/pgje2toyh/mlbqic
| |
| - COIN setup for pyside https://codereview.qt-project.org/#/c/158336/
| |
| - Qt 5.7 still blocked due to missing C++11 support in shiboken
| |
| - food for ideas: https://steveire.wordpress.com/
| |
| | |
| | |
| ==== 7 July 2016 ====
| |
| | |
| - automated CI testing
| |
| - patches for Pyside and Qt CI side required
| |
| - Testing somewhat more complicated due to closed nature of Qt CI
| |
| - script to port examples to Qt 5 -> https://bugreports.qt.io/issues/?jql=labels%20%3D%20exampleport5
| |
| - all examples to remain BSD licensed
| |