Qt for Python Development Notes 2018
Jump to navigation
Jump to search
2018
11. December 2018
- Release readiness of Qt for Python 5.12 evaluation - branching missing (to be done today) - snapshot generation not working properly (but no impact on release - first release test automation established - release announcements in work => conclusion: release ready (pending final smoke test) - working on debugger helps for python on windows users and unresolved dlls - more cmake work to enable opening of qt for python project from within creator
29. November 2018
- 5.11.3 release branch created. Matches 5.11 atm. http://ci-files02-hki.intra.qt.io/packages/jenkins/pyside/5.11.3/latest/pyside2/ - 5.12.0 latest candidate release wheels available - release readiness, missing patches - install PYI files to install path (integration issue) - move C++ files out of the type system (partly still needs review) - release testing to be done using available packages - ninja build support added - continued work on PYSIDE-797 (uic support for Python) - shiboken starter (home) page updated/created - general bug fixing
22. November 2018
- Updated the apidoc make step to copy the shiboken and apiextractor docs under the pyside doc root, making it easier to link to them from the pyside docs. - doc-snapshots.qt.io/qtforpython now hosts docs based on 5.12 branch (although the link text still says 5.11). - Fixed the broken link to the ApiExtractor docs. - Adding support for std::nullptr_t as primitive shiboken type - Fixing the EnumTypes operations (from the type definition) - Moving our typesystem's injected code to the separate snippet file PYSIDE-834 - Improving QFlagType implementation - Fixed crash in SCXML PYSIDE-850 - Investigated ninja builds, add --quiet to silence build
15. November 2018
- https://bugreports.qt.io/browse/PYSIDE-795 being worked on but still lots of work to do - signature split due to module split - https://bugreports.qt.io/browse/PYSIDE-735 type hinting feature continued - 5.11.3 branch created
8. November 2018
- General bug fixing week throughout Qt RnD - continued work on recursive type crashes - will look at https://bugreports.qt.io/browse/PYSIDE-735 - doc snippet work - uic port to python (uic generating python code - same for rcc under consideration) - feature work to come to conclusion for 5.12 in early December (feature freeze 22. November 2018)
1. November 2018
- Lots of requirements feedback from Qt World Summit in Boston - team will feed them to PYSIDE project in bugreports.qt.io - https://bugreports.qt.io/browse/PYSIDE-832 (fixed memory leak) - identified crash with regards to recursive types (one type containing another type) - work on tutorials - https://bugreports.qt.io/browse/PYSIDE-784 & Added meta object builder - QIODevice fixes for uninitialized memory - Extending uic to output Python (quite some redesign necessary -> 5.13 work) (https://bugreports.qt.io/browse/PYSIDE-797) - some discussion about coding style in libshiboken
25. October 2018
- Qt for Python Podcast out: http://talkpython.fm/183 - 32 bit win wheels are pending for https://codereview.qt-project.org/243062 -> required for release packages - https://wiki.qt.io/Qt_for_Python/GettingStarted#Pre-built_Wheels needs update for new wheel setup - code snippet handling improved - implementing a pmake tool for simple project file support (https://bugreports.qt.io/browse/PYSIDE-825) - https://bugreports.qt.io/browse/PYSIDE-797 (pyside-uic rewrite or rather add a Python generator to Qt's uic tool) - Qt3D binding update - tutorial improvements
18. October 2018
- coin setup/release packaging changes for Qt for Python 5.12 release - new wheel/build setup merged to 5.12 (waiting for issues to be reported ;)) - addressing some fallout caused by the change (signature module adoption) - shiboken generator wheel not ready (mostly a case cmake integration on target platform not solved) - PYSIDE-784 adoption of Meta object builder - looking at Qt for Python compile time optimizations depending on XML type file changes - improving snippet handling in the docs (huge amount of files to be converted from C++ to Python) - various bug fixes - memory leak - remove warnings
11. October 2018
- Qt for Python 5.12 will be first official release -> Python developers have a guarantee to have source/behavior compatibility -> Exception: - no BC/SC statement for libshiboken and libpyside - XML schema may change as well -> expectation: later releases of Qt for Python will commit on the exceptions above - 5.12 branch was created and hooked into CI - lots of discussions on how to solve the deployment use case across platforms - wheel separation patches up on code review -> new wheels: shiboken2, pyside2 (need new project on pypi) -> users wanting to build their own bindings should currently build shiboken from source - added ability to test build-able example (the script-able C++ examples) - QVariant bugs - PYSIDE-821 - dealing with circular dependencies around QAction - Worked with https://talkpython.fm/ on Qt for Python podcast - PYSIDE-795 Numeric Python support
4. October 2018
- Discussion around removal of TechPreview tag for Qt for Python 5.12 release -> XML Schema (kind of possible with versioning) - however very likely any use case for schema would require user to link against libpyside/libshiboken -> libpyside & libshiboken -> no BC or SC promise possible -> pure Python application usage (relying on Qt compatibility) -> compat promise given -> Compatibility statement does not imply that every Qt API is exposed via Qt for Python -> No LTS for Qt4Python 5.12 - https://bugreports.qt.io/browse/PYSIDE-784 (meta object handling - in progress) - https://bugreports.qt.io/browse/PYSIDE-817 fixed - Further work on QVariant handling - https://bugreports.qt.io/browse/PYSIDE-790 - best demos so far: -> Qt Charts -> MediaPlayer -> TabBrowser -> TextProperties (declarative) - further progress on the build scripts - https://bugreports.qt.io/browse/PYSIDE-803 (Thread related freezing) - need 5.12 branch
27. September 2018
- Qt for Python 5.11.2 released - Qt R&D all out bug fixing throughout Qt R&D (not much feature work happening, hence this report is very short) - e.g. https://bugreports.qt.io/browse/PYSIDE-784 - https://bugreports.qt.io/browse/PYSIDE-108 - General cleanup of issue on bugreports.qt.io (checking "Need more Info" and "In progress" issues) - improved signature and error reporting (continued) -> https://bugreports.qt.io/browse/PYSIDE-510 -> https://bugreports.qt.io/browse/PYSIDE-795
20. September 2018
- short summary as many people on leave - improve type error messages for https://bugreports.qt.io/browse/PYSIDE-510 contributing to https://bugreports.qt.io/browse/PYSIDE-795 and - https://bugreports.qt.io/browse/PYSIDE-803 (increasing the interrupt frequency) - Qt 5.11.2 under testing (and if no further issues released tomorrow) - discussions on what it means to have a Binary compatible Qt for Python release - separation of pyside and shiboken projects (at build time) - exception handling improvements - attempting to fix https://bugreports.qt.io/browse/PYSIDE-810
13. September 2018
- QtfP 5.11.2 release finalized (waiting for Qt 5.11.2 release) - improved build and runtime warnings/messages related to shiboken - https://bugreports.qt.io/browse/PYSIDE-790 - https://bugreports.qt.io/browse/PYSIDE-803 - https://bugreports.qt.io/browse/PYSIDE-62 (handling of try catch) - increasing RTA testing (automated wheel and example testing) - snippet improvements (separate snippets from qdoc files to permit their replacement with python versions) - https://bugreports.qt.io/browse/PYSIDE-510 (different Linux builds reported different signatures) - https://bugreports.qt.io/browse/PYSIDE-795 (numpy)
6. September 2018
- Clang tidy (revealed some issues in libshiboken) - unsuccessfully trying to fix https://bugreports.qt.io/browse/PYSIDE-784 - first tests using Qt for Python with Qt 5.12 - need to catch-up with general 5.12 development - https://bugreports.qt.io/browse/PYSIDE-800 (dealing with multiple inheritance - conversion of doc snippets from C++ to Python - https://bugreports.qt.io/browse/PYSIDE-510 (automated signature file generation) - https://bugreports.qt.io/browse/PYSIDE-795 - related to this task, error messages need improvements
30. August 2018
- Qt for Python talk during Qt World Summit (Boston & Berlin) - no resolution for https://bugreports.qt.io/browse/PYSIDE-779 yet - planning for 5.11.2 (timing) - snippet work in the documentation - testing new qdoc changes (some regressions are present) - bug cleanup in shiboken - experimental patch exposing configure keywords such that Qt for Python can react accordingly - clang tidy runs across the code base - add internal technical documentation for signature extension - numpy support improvements (PYSIDE-795)
23. August 2018
- further work on https://bugreports.qt.io/browse/PYSIDE-779 - coin is OK - fixed a crash in the doc generator - made http://blog.qt.io/blog/2018/08/15/python-extensions/ work on Windows - lots of cleanup in bug tracker - adding binaries for Qt3D* - more QVariant related bugs looked into - attended SIGGRAPH exhibition with Qt for Python
16. August 2018
- limited report due to business travel and wide spread holidays in the team - Qt for Python being demonstrated at trade show this week - blog post on python http://blog.qt.io/blog/2018/08/15/python-extensions/ - Coin is up and running (no issues on this front) - some discussion on where rcc and uic binaries (coming from wheels) should be installed - https://bugreports.qt.io/browse/PYSIDE-772 worked on
09. August 2018
- Qt for Python webinar on Tuesday with lots of interest -> https://resources.qt.io/qt-on-demand-webinars/creating-user-interfaces-with-qt-for-python-on-demand-webinar - Adding bindings to Qt3D & Qt DataVisualization libs -> porting related examples too - QVariant handling with lists improved - Further improvements for Qt Creator Python environment -> further details being prepared for a related blog post -> adding examples how to add optional bindings - improved script that generates https://wiki.qt.io/Qt_for_Python_Missing_Bindings -> due to bug there are a lot less missing bindings than previously thought - further documentation improvements - doc build script updated (using clang 6.0) - further experiments with snippet generation in documentation
02. August 2018
- 5.11.1 released (docs being updated on server) - coin 5.11 broken because version mismatch between Pyside & Qt - documentation for PEP 384 under review - Qt Creator Python scripting support is improving - submodule for QtCreator was requested to upstream the changes - added support for reproducible builds -> different builds caused different numbering for Qt types - continued work in template specialization support - looking into issue whereby Pyside generates bindings for Qt classes which have been disabled during the build by Qt (PYSIDE-762) - progressing on QVariant bugs - splitting Shiboken and Pyside from build system perspective (work in progress)
26. July 2018
- 5.11.1 release - SHA will be current 5.11/HEAD - 5.11.2 release tag created in Jira - macOS 10.13 fixed in coin (build test only atm) - documentation for PEP 384 -> code review during documentation revealed some bugs - QTableWidget caused performance issues which was identified and fixed - added C++ using stmt support to shiboken - further work on PYSIDE-743 - addressing QVariant bugs - preparing content for trade show visits and webinars - Research: Python based plugins for QtCreator -> bindings for QtCreator -> 3rdparty scripts which can interact with QtCreator - effort into splitting wheels to Python, Shiboken module and Shiboken generator - more snippet updates on Qt side to enable override on Python side
19. July 2018
- considerations around 5.11.1 TP release -> branching .1 being required -> change logs need to be done -> nominate good SHA - TP wheels finally published on pypi.org -> http://blog.qt.io/blog/2018/07/17/qt-python-available-pypi/ - MacOS 10.13 being looked at by CI team as new target - shiboken refactoring - (PYSIDE-743) - typing hints for IDE support - limited API documentation for PEP 384 in works - considerations for 5.12 release (not confirmed/agreed upon yet) - bugs bugs bugs - template support - splitting shiboken and Pyside more clearly -> simplifying bindings generation for 3rdparty libs -> even split individual Qt modules into individuals libs - embedding python bindings into C++ applications - various QVariant issues (e.g. PYSIDE-82, PYSIDE-207, PYSIDE-664, PYSIDE-710) - some additional moc features like: PYSIDE-634, PYSIDE-748 - improving module/sub system support for QML, Qt3D or QtCharts - mobile support (large task not happening soon) - custom bindings for C++ libraries - better numpy integration
12. July 2018
- Work on shiboken's type system (PYSIDE-672) merged - Started checking the XML elements/attributes of the typesystem language to identify unused elements (PYSIDE-743) - Started looking at emerging new API of Qt 5.12, which unveiled bugs in shiboken - Finished the port of new examples related to PYSIDE-738 - Fix a Python 3.7 hang/crash (PYSIDE-737) - Fix a Python 3.7 compatibility issue (PYSIDE-741) - Work on hinting stubs for Python IDEs (PYSIDE-735) - Will return to documenting PEP 384 at the weekend, promised.
05. July 2018
- Work on shiboken's type system (PYSIDE-672) - Fixed COIN for macOS/dev branch (PYSIDE-734 / PYSIDE-724) - helped with a very old bug (PYSIDE-60) - started type hinting support (PYSIDE-735) - Investigating the slowness of our bindings (PYSIDE-727) - Working on expanding the examples related to QtCharts and fixing a few other examples.
28. June 2018
- Fixed some bugs for the 11.1 release (fix PYSIDE-570 , PYSIDE-693) - code cleanup in shiboken - Added option for C++ language level to shiboken - Doc fixes, start using conditional section the Qt documentation - Worked on PYSIDE-641 to handle the case of undefined len(). - Started work on method hinting. Discussion with the Wing IDE guys. - Fixed issue related to the QLibraryPath - Fixing a couple of examples.
21. June 2018
- Publishing snapshot wheels was disabled for some time, but is now back online. - The team has been mainly solving issues related to the first set of wheels from the Technical Preview. - Missing DLLs for the Windows wheels - Examples incompatibility due to previous changes, missing resources, etc. - Wrong paths associated to the QLibraryInfo class - PEP 384: Tried to further reduce the patch size and to avoid Introduction of PepType. - Stopped after it turned out to be impossible. - Documentation: - There are many snippets that contains the C++ counterpart, so there is a lot of effort to translate them to Python - Continued on documenting the Limited API after it is now fixed.
14. June 2018
- Official Tech Preview released yesterday: http://blog.qt.io/blog/2018/06/13/qt-python-5-11-released/ - focus has been on release details and following up on comments and feedback after the release - The team is grateful for all the suggestions and constructive feedback.
07. June 2018
- Last steps for TP - Latest changes merged (PEP related plus other features) - ActivePython 3.6.0 broken - PyPi wheel size issue: Still no answer from PyPi :( - Documentation check (code examples need to work) - Blog posts - wheels upload? documentation url change? etc - Things to do - pyside2-tools update sha - merge the last commits from 5.9 to 5.11 to dev - create release branch - update version number - create a tag once we know the final version.
31. May 2018
- ready for TP? - 32bit win wheels not available yet - request to upload larger than usual pypi wheels filed with pypi/warehouse project - some wheel renaming related patches still pending to comply with pypi requirements - PEP changes have merged earlier this week - example patches still under review - documentation not packaged as part of release (published on doc.qt.io on day of release) - ByteArray changes re-based on top of PEP patches -> to be merged until end of week - have release candidate wheels early next week for testing - aim to release it on 13th June 2018 (might shift till Monday (18th June) afterwards) - assessed missing bindings situation
24. May 2018
- discuss details of pypi uploads (accounts, processes and limits) - need package size extension from pypi - naming issues for packages - download.qt.io will be backup distribution source - need to verify pypi working - package finalization and testing (limits on changes?) - entering code freeze mode very soon (limited commitment for time being) - pep changes -> 1 test failure, 1 build failure -> attribution and doc improvements still to be done - ByteArray changes (interdependence with PEP) - potential doc changes -> tab browser example to be finished -> latest logo files need to be pushed - final release testing - TP blog post
17. May 2018
- updated icons/images for Qt for Python project - PEP updates - completed the feature implementation but some bug fixing still open - discussed how heap type change and PEP changes could be easily reviewed/merged (huge patch set series) - coin - 5.11 & 5.6 broken, 5.9 & dev working - waiting for larger coin update which will enable QtForPython to be more independent from Qt CI configurations - Win32 (VS2015 only) pip received some changes but not quite available yet (subject to coin update) - Temporary Win32 wheels tests looked promising - missing bindings for QtCore/Network/Multimedia/GUI/widgets added (https://wiki.qt.io/Qt_for_Python_Missing_Bindings needs updating) - bindings for QtScxml in the works - known issue when dealing with unicode data/strings (seg faults) - various documentation fixes - dynamic System clang builds with Linux supported - small build fixes - Decreased wheel sizes - more work on blog posts and examples.
10. May 2018
- skipped due to public holidays
03. May 2018
- coin - 5.6 still blocked, 5.9/5.11/dev working - Win32 pip still on backlog - documentation - references to Shiboken being worked on - dot images finally working on https://doc-snapshots.qt.io/qtforpython/index.html - various fixes to non-class related docs - PEP updates - integration attempts have revealed some issues with shiboken, private ctors/dtors - one patchset series for PEP support and Heap Type changes pending - license updates - working on Python 2 & 3 type differences (avoiding developers having to deal with these differences) - Tab Browser example merged
26. April 2018
- New icons for project in work - 5.9 branch working (5.11 branch is broken due to issues on the Qt side) - snapshot tool for Windows broken (crashing) -> fix pending but blocked by CI - in the mean time only mac and Linux snapshots working at the moment - 5.6 branch broken as well as 5.9 changes for qt5.git need to be merged to 5.6 too - delivery of 32bit Windows binaries not started - tiny bug fixes and other types of cleanups (e.g. build scripts) left and right - General replacement of Pyside name against Qt for Python (module name remains as Pyside) - APIExtractor documentation still being merged to git - style sheet issues being addressed - QtWebEngineCore bindings finally merged - PEP work ongoing (and coin to work)
19. April 2018
- COIN finally back in working shape - Further fixes for documentation, module pages, experimentally tried to show in Qt Assistant - Tab Browser example further improved - Qt for Python blog posts being worked on - Continued working on WebEngine issues - Some investigation and preparations to make WebEngine apps work with PyInstaller (very early phase, still doesn't work) - Pending patch for QtWebEngineCore bindings - Installation adjustments for standalone builds on Windows - Heap types are complete. Starting integration with PEP 384. - Finished the integration between ApiExtractor and Shiboken documentation. - Worked on a couple of blog posts. - Wiki structure and started to write the Tutorials
12. April 2018
- Getting Started guide under works by doc engineer - focus on fixing coin on Mac & RedHat 7.4 (looks promising so far) - shiboken documentation and diagrams being updated - old and unused docs dir shall be cleaned out - Tab Browser example improved - License page generated based on attribution files - lots of discussion when to release Qt for Python TP - after Qt 5.11 release (scheduled for 31.5.) - likely to be mid June (stay tuned) - WebEngine issues - needs updated qt.conf files to be deployed for apps - Heap types (work in progress) - still more work in pipeline to get code PEP 384 ready (Heap types are prerequisite) - Qt for Python blog posts being worked on
5. April 2018
- first doc snapshot is up and running: https://doc-snapshots.qt.io/qtforpython/ - more work to be done to automate generation of snapshots - briefly talked about technical blog post opportunities - pdb files from Windows wheels removed (reducing the wheel size) - improving the tab browser example - coin currently not accepting changes - currently lots of pending patches start to create backlog - Heap type taking longer than expected - qApp macro reference leaks finally resolved - quite a few formatting changes to enforce a common coding style - lots of smaller fixes
29. March 2018
- skipped due to Easter holidays
22. March 2018
- Release process (do we follow Qt?) - Release manager provides packages - RTA testing to be setup -> for each package we run RTA - Request to be put on mailing list - Current Test setup proposal - Win10 (Python 3.6) - Linux (Python 3.6/2.7) - Mac (Python 3.6/2.7) - To be defined a test set (//TODO) - Testing information to be collected in wiki - Documentation - QML advanced tutorial documentation updated - Landing page in the works - snapshot still delayed by other qdoc bugs - style sheet update considered - so far only dealt with class docs, started to include unrelated doc pages - snapshot testing (angle & webengine not properly packaged on Windows) - enum support improved (dealing with scoped enums and enum values) - general bugfixing to increase stability and address mem leaks - Talks to PyData submitted - Qt Charts examples ported - Proper support for QFlags being worked on - PYSIDE-595 fixed - PYSIDE-595 first heap type protoype under review proving that concept works - PYSIDE-560 depends on PYSIDE-595 - CI side - coin did Python updates which temporarily broke Linux wheels - briefly discussed manylinux request on mailing list (Qt forms bottom line, no point to extend beyond scope of Qt) - final list of wheels for release (win, linux, mac) x 2 (2.7 & 3.x Python)
15. March 2018
- Fix to create 3.6 Linux wheels under review. - Fix scriptableapplication build on Windows, and other small bugs. - Two QtCharts examples were ported and abstracts were written to submit PyData talks - Updating the QML advanced tutorial and adding index.rst and gettingstarted.rst - Tried the wheel pkgs for python 27 on Linux. Works OK except the webengine example, which gives random crashes. - Docs: PYSIDE-620 Shadow build issue fixed, fixed usage of deprecated Sphinx API, - Continued on PYSIDE-560, currently Windows problem with Linkage - Debugging on PYSIDE-595, final stages - Fixed PYSIDE-258
08. March 2018
- msvcrt.dll to be shipped on Windows - wheel snapshots are automatically generated - start with public availability under http://download.qt.io/snapshots/ci/ - snapshots to public pypi server under discussions - discussion on how to increase value of official pyside mailing list http://lists.qt-project.org/mailman/listinfo/pyside - looking at build issues on Windows (improving error handling) - Participation in Python User Group meeting in Berlin (https://www.meetup.com/Python-Users-Berlin-PUB/events/xhqwhpyxfblb/) - PYSIDE-595 - Heap Type conversions ongoing - test bed created for easier development - Documentation -> Managed to make libxml, libxsl an optional dependency falling back to QtXmlPatterns (despite QTBUG-66925) -> Small fixes to doc modifications -> Fix class inheritance diagrams for nested classes
01. March 2018
- automatic snapshot process almost in place (pending reviews) (RTA to follow) - general bug fixing (including build and version problems) - most community Pyside1 pages point to official Pyside 2 (Qt for Python) wiki pages - PYSIDE-595 - Heap Type conversions ongoing - documentation improving -> class diagrams being generated -> missing links and references -> dependencies to qdoc bugs -> snapshot process in works - added support for scoped enums in pyside - Important things discussed: - PySide2 versioning (current proposal WIP patch at https://codereview.qt-project.org/#/c/221767/) - Do official releases follow Qt branch names? - -> yes (minor release of Pyside is bound to same minor release of Qt -> patch level version may differ - Will we have snapshots, and if so, will they be uploaded to pip? How will we handle snapshot versions? -> tentative yes, if public pip server supports snapshots Pyside should be good citizen - alpha / beta / RC versioning? -> Pyside should follow the Qt schema - Probably need to take into account PEPs for versions pushed to Pypi. - Shiboken / PySide2 versions in sync? -> yes, they should be in sync - Will we specify a version for 5.6 branch? -> yes, but no packages being made - Are we sticking to the package name PySide2, but follow Qt 5.x versions as PySide2 versions? -> Pyside2_5.11.0 as in https://codereview.qt-project.org/#/c/221767/ - Do we want to deploy msvcrt dlls into Windows packages? -> needs more research - is it really needed ? - Do we want to ship debug symbols for Qt inside the PySide2 packages? -> not for now - Do we want to ship debug Qt shared libraries for macOS packages? (not possible on Windows, not applicable on Linux afaik). -> not for now - How will the pip upload process look like? Manual uploads? Who takes care of it? -> Qt release team will take care of it - Current branching policies: -> 5.6 branch stops being merged into 5.9 (after pending patches have merged) -> cherry-pick mode -> 5.9 is base line for patches and being forward merged to 5.11 -> no packages from 5.9 & 5.6 (interested parties need to get it from git) -> 5.11 becomes branch for first TP -> dev is feature development -> all first TP release related patches go to 5.9 (and 5.11 subsequently)
22. February 2018
- dev branch is still/again broken in CI, seems like pyside issues - changes to create automatic snapshots out of CI is still under review - Numerous small fixes to the doc generation, significantly bringing down the number of documentation warnings - Massaged build rules to improve built packages - Removed unnecessary _utils.py file PYSIDE-600 - Changed wheel package names to contain both PySide2 version and Qt version against which it was built PYSIDE-613 - Finally got libclang to be deployed into packages - Improved build process not to copy unnecessary symlinks and duplicating libraries when creating wheel (so that you don't get 3x size increase because of 3x number of WebEngine libraries) PYSIDE-495 - Fixed wheel package names to contain correct minimum deployment target with which macOS was built with (on further analysis, this will need further improvement) PYSIDE-612 - Fixed rpath handling for QtWebEngineProcess when creating standalone packages on macOS PYSIDE-605 - Added CMake build rules for scriptable application example PYSIDE-597 - Investigated and fixed a heap corruption bug in a test that caused constant crashes on macOS CI runs - Reduced number of warnings when running shiboken to create user bindings (like scriptable application example) PYSIDE-587 - PYSIDE-595: Making slow progress, still debugging. It's a difficult process, but assumption is that it will work. - Havent's merge this new patch because we should be 200% sure it's properly working. - Working on a few bugs PYSIDE-106 PYSIDE-570 - One of the bugs PYSIDE-611 was valid only for 5.6, but I noticed a strange behaviour on 5.9, so I will keep working on it, even after we move 5.6 to cherry pick mode.
15. February 2018
- CI broken, 5.6 & dev branch broken, 5.9 just got working again - first TP will be 5.11 based (needs 5.11 git branches, 5.6 branch goes into cherry-pick mode, 5.9 branch remains main target) - more modules added to doc, qt3d & qtquick has some special handling - snippet work ongoing - snapshot generation on the agenda - lots of bug fixing e.g.: PYSIDE-104 - PYSIDE-560
8. February 2018
- Looking through previous EuroPython talks to write a proposal for this year. - Working on a few bugs (fixed a couple related to objects references), - that sadly will open new issues with memory management. A further analysis on this matter could improve the current memory leaks on PySide. - Trying to "organise" a little the typesystem XML files. - Working on PYSIDE-104 that ended up being a general issue on PySide about a proper verification between slots and signals arguments, to find the best match. - Merged a few build related changes in 5.6 - Pending change for PYSIDE-593 - Pending change for PYSIDE-605 - Merged changes for PYSIDE-603 and PYSIDE-604 - Investigated and attached minimal reproducible example for PYSIDE-585 - Investigated some macOS build related aspects for package release - 5.6 CI is unblocked, but 5.9 CI is blocked due to qtbase issues (version bumping) - PYSIDE-560 waiting for view - PYSIDE-595 work ongoing, not ready yet - PYSIDE-363 Documentation: Fixed images, fix handling of qdocconf files that contain several modules. Looking at snippet resolution. - Problems with Qt3D due to refactoring of Qt3Dextras in 5.10. Pushed patch suggestion.
1. February 2018
- Continued work on documentation PYSIDE-363, fixed static pages, add more modules, fixed parameters to qdoc, images - The GettingStarted wiki is getting better, besides a cleaning it a bit - moved the topics around to have guidelines by supported platform (a la Qt) - have received feedback and trying to add more information - Addressed bugs: - PYSIDE-34 - PYSIDE-264 - cleaning a bit Shiboken's XML files. - PYSIDE-560 - ported to 5.9, extended to 18 header files - solved unicode problem - reduced the patches to be minimal (avoid many #ifdef's, use a verbose macro name if possible) - made everything compile but one announced file: "object.h" depends on the heaptypes solution (PYSIDE-595). Removed WIP status,review pending. - PYSIDE-595 - Started experimenting - turned out that the signature extension barfed because it could no longer find the type "__name__". The function PyType_Type.tp_new needs to be called to provide the "ht_name" attribute that is used in heaptypes. - solving the attribution file issues. - Pending patches to fix libICU issues - Pending patches to fix OpenSSL issues PYSIDE-599 - Pending patches to deploy libclang library for shiboken - Improved documentation about OpenSSL dependency - Pending patches for cleaning up build scripts a bit (logging and refactoring) - Pending patches to reduce barrage of warnings PYSIDE-587 - Pending patch for adding CMake build rules for the scriptable_application example (useful as a reference on how to use shiboken for custom bindings) PYSIDE-597 - Old 5.6 CI integration issue fix, but a new issue appeared that was fixed for 5.9 and dev, but still blocks 5.6 - Updated the qml basics tutorial
25. January 2018
- Pyside not renamed - Releasing preparation - pip packages created by coin - Automated release testing (RTA) (installing pip, launching an example) - final selection of release package targets to be define closer to release (depending on current stable ABI work) - Investigation doc issues when using prefix & shadow builds - Need to identify prime demos/examples - Started to rework Getting Started Guide wiki - Addressed cmake build issues - Handling libICU issues (causing linker issues when importing QtCore) - Continued work on PYSIDE-560
18. January 2018
- macOS framework fix (should ignore qt4 system headers) - another patch on top to fix OpenGL integer types on mac / Linux (GLuint64, GLint64) - Fixed so that PySide 5.6/5.9 is not linked against the Python shared / static library (this was wrong because the symbols need to be picked up by the dynamic loader from the python interpreter itself). http://bugreports.qt.io/browse/PYSIDE-522 - Completed move of examples from pyside-examples.git to pyside-setup - added additional OpenGL2 core example - fixed testrunner (these silently failed since forever) https://codereview.qt-project.org/#/c/216732/ - fixed issues whereby wrong QObject ctors were selected - removed webkit from Pyside2 build - talk about Windows specific instructions for Getting Started Guide - Qt3D issues in Qt 5.10 fixes - clazy warning fixes - Stable ABI work (started to convert implementations) (see PYSIDE-560) - requires adoption of HeapTypes - QML tutorial updates - Doc snapshots being prepared
11. January 2018
- multi pyside packages (not easy to do) - unlikely to achieve until TP - a package per python release (3.4, 3.5, 3.6, 2.7) - package per platform (win 32bit|64bit, mac, linux) - long term task to convert to reduced Python API (to support multi 3x packages) => have to cut some targets: one 3x and 2.7 release -> create doc howto to encourage custom builds for not covered platform combo -> do we need commercial for release - pysinstaller is an installer -> deployqt tool not necessary -> documentation required stating the option - rename import options - rename via alias possible -> still an issue when looking up particular types but probably manageable - renaming option: Qt4Pyton, QtPy, QtPython, Python4Qt, Qt - example shift - https://codereview.qt-project.org/#/c/215900/ - Basics for doc generation toolchain - Issues where cmake picks up platform Qt references where it should use a Qt custom install - Qt3D bindings still under progress - PYSIDE-34 & PYSIDE-560 - Documentation - minor doc fixes - documenting examples
4. January 2018
- multi pyside packages (not easy to do) - renaming Pyside to "Qt for Python" - quite challenging due to implied import and lib changes - alias for existing imports would be beneficial - discussion around existing function test -> working assumption is that we ignore added function and check for existing base line only -> effort too large to maintain every single new addition - discussed issues around concurrent existing Qt builds while building pyside (potential cross leakage) - various fixes to doc generation steps (see PYSIDE-363) - discussed need for good examples as part of documentation -> considered options to cleanup and remove need for submodule
2017
2016
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 (release bundling)
- 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)
- Shiboken
- 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
- Documentation generation
- Deployment of apps
- Debugging support
- Gaps (modules & API)
- Must have tasks for first release
- Packaging (e.g. pip deployment? )
- Clarify Installer story
- Documentation
- Product placement decisions
- Licensing
- Naming
- etc
- Complete CI coverage