Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Qt for Python Development Notes: Difference between revisions
Jump to navigation
Jump to search
m (→4. Mai 2023) |
|||
Line 5: | Line 5: | ||
*General | *General | ||
**Europython talk by Shyam | **Europython talk by Shyam still under consideration | ||
**Qt for Android catch up meeting scheduled for 09/05/2023 | **Qt for Android catch up meeting scheduled for 09/05/2023 | ||
**Discussion with kivy developers done on discord. They seem to be onboard with the Qt support. | **Discussion with kivy developers done on discord. They seem to be onboard with the Qt support. | ||
Line 13: | Line 13: | ||
**python-for-android PR Enhancements - Ongoing | **python-for-android PR Enhancements - Ongoing | ||
**PYSIDE-1951 super().__lt__ global solution ongoing | **PYSIDE-1951 super().__lt__ global solution ongoing | ||
**[https://bugreports.qt.io/browse/PYSIDE-2206 PYSIDE-2206] QML examples/tutorials revamping | |||
**PYSIDE-2221 Python runs NoGil version of mandelbrot.py 7.7 times faster on a 10-code M1 machine | **PYSIDE-2221 Python runs NoGil version of mandelbrot.py 7.7 times faster on a 10-code M1 machine | ||
**[https://bugreports.qt.io/browse/PYSIDE-2288 PYSIDE-2288] Fixed Clang 16 support for 6.6/6.5. | |||
**PYSIDE-2310 Crashing without error reporting in Qt-based threads, debugging | **PYSIDE-2310 Crashing without error reporting in Qt-based threads, debugging | ||
Revision as of 10:27, 4 May 2023
2023
4. Mai 2023
- General
- Europython talk by Shyam still under consideration
- Qt for Android catch up meeting scheduled for 09/05/2023
- Discussion with kivy developers done on discord. They seem to be onboard with the Qt support.
- Infra & Releases
- Bugs & Features
- Android Deployment Enhancements - Bringing pyside6-android-deploy at the level of androiddeployqt - Ongoing
- python-for-android PR Enhancements - Ongoing
- PYSIDE-1951 super().__lt__ global solution ongoing
- PYSIDE-2206 QML examples/tutorials revamping
- PYSIDE-2221 Python runs NoGil version of mandelbrot.py 7.7 times faster on a 10-code M1 machine
- PYSIDE-2288 Fixed Clang 16 support for 6.6/6.5.
- PYSIDE-2310 Crashing without error reporting in Qt-based threads, debugging
27. April 2023
- General
- Planning collaboration with other projects like Kivy, towards a better mobile support.
- QtWS talks submitted
- PyConES, PyConPT, PyConAPAC
- Qt for Android catching up meeting
- Bug fixing week
- Infra & Releases
- 5.15.8 wrong source code was published PYSIDE-2297
- Bugs & Features
- PYSIDE-1951 super() and `__lt__` operator issue related to our wrapper.
- asyncio work continues
- enhancements for python-for-android to improve the android stories
- pyside6-android-deploy polished as well
- 2299 memory leak might have special cases related to the callback
- clang16 is giving some issues in Qt
- Icon examples libraries for the python examples research
- Snippet translator improvements
20. April 2023
- Bugs & Features
- Work on support for clang 16, which changes behavior quite a bit
- Fixed PYSIDE-2284 issue with NoneType
- Fixed PYSIDE-2285 Type hints / Tuples
- Fixed PYSIDE-2298 and others, fixed some missing 6.5 API
- Added new tools - pyside6-qmlsc (commercial only) and pyside6-qmlcachegen
- Simplified tool adding process
- PySide6 to Android Deployment blog published 🤞
- PYSIDE-1564 Final approach was implemented with a new super() class. But This approach was not helpful. Issue finally closed.
- PYSIDE-1951 A solution was finally found and implemented. Trying to improve.
- PYSIDE-2304 Issue resolved, Cooperative Multiple Inheritance explained with a custom example, customer is happy
- PYSIDE-2299 Cause for memory leak has been found, but fix will not be trivial (might require extensive refactoring in worst case).
- Debugging QtAsyncIoEventLoop, partly functional but still early.
13. April 2023
- General
- SF 24.04 -> 16.05 ooo
- CM 19.04 -> 27.04 ooo
- QtCreator beta now includes an extra option to create virtual environments
- Infra & Releases
- 6.5.0 released, but one missing DLL on windows for people without hw acceleration.
- To be fixed in 6.5.1
- 6.2.8 LTS to be released this week
- Improving current state of the maintenance tool for Python
- Second version of the packages in the server
- https://discuss.python.org/t/pep-684-a-per-interpreter-gil/19583
- https://discuss.python.org/t/pep-711-pybi-a-standard-format-for-distributing-python-binaries/25547
- Qt Design Studio integration is on research
- 6.5.0 released, but one missing DLL on windows for people without hw acceleration.
- Bugs & Features
- Type hints PYSIDE-2284 issue with NoneType
- 2283 Platform dependencies into our docs
- Clang16 improvements to be compatible
- Research on the missing DLL issue on Windows
- Research on a memory leak possible related to Signal instances.
- asyncio debugging with a self-made event loop
- Improving the python-for-android changes to prepare a patch
- Technical Preview blog post for Android in the making
- PYSIDE-2294 multiple inheritance issue for a corner case with positional arguments
- Researching a new approach that could improve things further
6. April 2023
- General
- New Python releases 3.11.3, 3.10.11
- Infra & Releases
- 6.5.0 released
- 6.2.8 commercial LTS to go out soon
- Review Maitenance Tool integration
- qtpip server configuration still in progress
- Bugs & Features
- Android: preparing post, tests, and general improvements.
- PYSIDE-2266 venv issue with the deployment tool.
- Documentation was released for 6.5.0 and many things were polished.
- Async: continue working on the event loop wrapper implementation.
- Research on memory leak that pyqtgraph found
- Brushing up tutorials: expenses
- Adding new examples: simplebrowser, screen capture
- Documentation: found some issues with qdoc (from the move of examples to auto tests)
- PYSIDE-2278 type hinting issue was fixed
- Improvements to the documentation
- Cleaning imports from examples
- Add isort to the development guide
- Exploring other projects where Python can shine
30. March 2023
- General
- Infra & Releases
- 6.5 to be released next week
- including requirements.txt along the commercial bundle
- research if possible retroactively
- qtpip research continues
- Bugs & Features
- Features that needs to be in before 6.5
- deployment tool nuitka patch
- android tool
- tutorial of thew new quick styled app
- Improving enums to avoid using the old implementation
- Deployment tool and android research continues
- Async research on asyncio and trio proper integration
- Refactoring
- Shiboken examples are not displayed on the docs
- Updating the new image of the project
- Re-porting multimedia examples, simplebrowser
- Initial support for permission API
- small fixes on metaobjectdump
- Features that needs to be in before 6.5
23. March 2023
- General
- QtWS CfP open
- EuroPython talks submitted
- Keeping an eye on future Python events
- Infra & Releases
- 6.4.3 is out
- pypy3 3.9.12 compatible, newer versions included an incompatibility
- 6.5 branching out today
- 6.4.3 is out
- Bugs & Features
- async support continues.
- Fixing a couple of issues related to the pyside6-deploy tool.
- venv compatibility
- qml apps are not properly working
- android support almost ready for TP
- PYSIDE-2261 cython signature module incompatibility fixed
- Removed goto from PySide
- Multiple inheritance issues were fixed.
- old Enums are being removed, and the startup time will improve a bit (still in progress)
- PYSIDE-971 GL funtions implementation
- including texttospeech into the wheels (missing by mistake)
- adapting scripts to 6.5
- metaobjectdump issue fixed
- doc updates
16. March 2023
- General
- Preparing submissions for Europython
- New company colors
- Infra & Releases
- 6.4.3 release next week (no release branch)
- Issues with Nuitka 1.5.1 (released yesterday) and the CI didn't like it. Pining 1.5
- Bugs & Features
- qtpip: add support for many other operators (for versions)
- PYSIDE-2254 exit crash issue was fixed
- PYSIDE-2251 designer issue when not initializing virtual environment.
- qmlsurface example ported (polishing the C++ code as well)
- example icons: discussions to standardize them a bit
- android research: fixing some issues with qtquick
- PYSIDE-1564 multiple inheritance work continues, really far but found new issues. Generalizing the solution a bit from a Shiboken point of view. Research on how shiboken handle multiple inheritance to be compatible with Python's way.
- PYSIDE-2255 virtual method issue related to access to those members.
- Generalization of QApplication usage on the tests.
- Research: Add course to QtLearn related to Qt for Python
- doc: some links are broken.
- doc: migration to sphinx-design from sphinx-panels
9. March 2023
- General
- Packing use-cases
- Europython CfP: https://ep2023.europython.eu/cfp
- Infra & Releases
- Preparing 5.15.13: release might be today if nothing goes wrong.
- Wheel bundles on the account.qt.io, and soon to be available in the Maintenance Tool
- Bugs & Features
- Re-added QtLocation
- Added larger examples for QtLocation, QtDataVisualization
- Android research continues, preparing a TP
- https://bugreports.qt.io/browse/PYSIDE-2169 Leak related to AsyncIO was finally fixed: related to the new Enum implementation
- PyErr_Fetch/Restore does ref counting, and not borrow ref
- qtpip works continues
- https://bugreports.qt.io/browse/PYSIDE-79 bug signal instance: fixed most if not all possible errors.
- https://bugreports.qt.io/browse/PYSIDE-1403 pyi still produces something not fully working with IDEs
- https://bugreports.qt.io/browse/PYSIDE-1564 First version of the implementation of multiple inheritance is working
- Not a general solution, but a good approach (compatible with a competitor).
- Working on a full support to handle multiple inheritance
2. March 2023
- General
- Preparing internal/external material
- Next monday CI maintenance break
- Infra & Releases
- commercial wheel bundles available on account.qt.io
- 6.4.3 release was postponed
- Bugs & Features
- Improvements for qtpip
- postEvent() memory leak still has an unknown origin
- PYSIDE-2236 QMetaMethod.fromSignal added
- PYSIDE-2237 be careful with using reserved words in examples/docs/...
- PYSIDE-2239 opaquecontainers wrong dunder name
- PYSIDE-2206 Examples revamping
- Maybe we keep some examples around even if they are removed in Qt/C++
- Android work continues! looking good with 6.5
- PYSIDE-1564 Multiple inheritance story was improved, still in progress.
23. February 2023
- General
- Giving a talk at Python La Paz (on Saturday) - in Spanish
- Infra & Releases
- 6.4.3 ready to start the release process
- Change to fix the windows signing is merged
- Bugs & Features
- 3.12 compatibility changes will reach 5.15, 6.2, and the future 6.5 LTS
- PYSIDE-79 (caused by PYSIDE-68) refcounting issues addressed
- Continue the 3.12 support because of some new issues found
- PYSIDE-1564: Multiple inheritance support is still being worked (old ABC issues might be related)
- Issues with documentation build (sphinx)
- Research on a memory leak related to the asyncio example: it's not related to asyncio, but from the posting action (pyside, and not Qt, because a C++ example with no async doesn't have any leak)
- PYSIDE-2234 adding QRunnableCreate
- fixed 6.5 issues with cross compilation
- Designer examples revamp
- Works continues on qtpip (a pip wrapper to install commercial wheels)
- PYSIDE-2232 NixOS issues was fixed (another was deferred)
- Research on the std::span support
- Unity compilation research continues
- Bug cleanup, closing and fixing old ones.
- OpenGL getProc issue is being worked on.
- PYSIDE-2192 interactive matplotlib issue (hook)
16. February 2023
- General
- Development of a tool for commercial wheel installation started, and other general improvements.
- Blog posts -> 6.5 release, and Android research.
- Don't forget about Europython.
- Infra & Releases
- Branching dev to 6.5 when the Qt/C++ 6.5.0 RC is out (16 Mar '23)
- Only fixes go to dev with Pick-to: 6.5 if necessary
- new features remain in dev (for 6.6)
- Branching dev to 6.5 when the Qt/C++ 6.5.0 RC is out (16 Mar '23)
- Bugs & Features
- nogil research was positive, and most of our test work. It would require for us to modify the generator for each function/module.
- mandelbrot example works and improves its performance around 3.5 times.
- Python 3.12 will include an incompatibility due to the changes in the type generation
- https://github.com/python/cpython/issues/60074#issuecomment-1430115581
- some other issues were found, but not as critical as the tp_new issue.
- It will be possible to install pyside6 in conda environments starting from 6.4.3 and 6.5
- commercial identifier on commercial wheels will be replaced to be compatible with distutils
- asyncio research continues
- Adapting the deploy tool to include compatibility with android (in progress)
- research on ML-based tool to transform c++ <-> python
- Getting started docs updated
- qtdoc documentation content will be included in the docs
- doc issues: some broken links and references
- General slides to be updated
- nogil research was positive, and most of our test work. It would require for us to modify the generator for each function/module.
09. February 2023
- General
- How to make our API better for pathlib?
- 3.11.2 released, 3.10.10 as well
- https://peps.python.org/pep-0675/
- Infra & Releases
- LTS tags cannot be pushed to community repo (permissions), hopefully in this week.
- Maintenance Tool updates soon
- Binary signing still need a little change to be working
- dev to use 6.5 starting today
- Bugs & Features
- Android research in progress, looking good :)
- A solution was proposed to fix the usage of PySide6 in conda environments: still needs tweaks to work, mainly related to an internal qt.conf that's loaded at runtime.
- PYSIDE-2222 custom widget plugin, load with uic crash
- PYSIDE-2201 was fixed: introducing weak references into the SignalInstances.
- PYSIDE-79 was possible to solve (from PYSIDE-68 solution). Still needs to some documentation to be written.
- PYSIDE-2221 research on future compatibility with NoGIL Python https://github.com/colesbury/nogil https://peps.python.org/pep-0703/
- https://github.com/blueloveTH/pocketpy also interesting
02. February 2023
- General
- Europython 2023 will be in Prague! 17-23 July
- Infra & Release
- Improving wheel creation in our CI (signing windows, and other things)
- Soon we will have released LTS in the OSS repo (after some complications)
- CI Maintenance break coming next Monday (keep an eye open to the Python configuration)
- Bugs & Features
- Unity builds were helping pyside/shiboken, and some tests are being done in qt/c++
- meta task on revamping examples in the Qt Project
- Adding uic functionality and documentation
- Doc reviews, some issues were found
- Android development continues, and looks good!
- introducing --log-level to change --verbose-build and --quiet
- Overhaul of Signal/SignalInstance continues:
- PYSIDE-2201 Weak Reference handling is complete
- PYSIDE-79 Research on Reference bug continues
- create_wheels.py --builddir to explicitly provide build directory
- WIP: QtAsyncIoEventLoop using Qt's event dispatcher, using BaseEventLoop and BaseSelectorEventLoop for guidance
26. January 2023
- Infra & Releases
- Fixed issues with Windows signing
- Bugs & Features
- Fixed PYSIDE-2204 qt.conf encoding
- Fixed bugs in pyside6-metaobjectdump (QML) PYSIDE-2202 , PYSIDE-2203
- PYSIDE-2194: Possibly requires refactoring of QLowEnergyController to use the new WinRT API, instead of COM API
- Android Deployment - Patches incoming to automate cross compilation to produce android wheels
- Overhaul of Signal/SignalInstance
- Implement Weak Reference Handling
- PYSIDE-2201 Handle early destruction of the object better
- PYSIDE-79 Trying to finally fix the reference leak using weakref.
- Alternative approach to Anaconda issue: Register internal qt6.conf with site-packages prefix (still WIP).
- WIP: Implement class QtAsyncIoEventLoop(asyncio.AbstractEventLoop) that wraps around Qt's event loop to enable Qt + asyncio.
- Memory leak with current asyncio example (or space leak?)
19. January 2023
- General
- Hackathon in TQtC
- The WebAssembly PySide Team was almost doubled in size (+1 brain, +1 hand)
- Infra & Releases
- Windows signing to be improved.
- LTS releases into oss repo: some issues appeared but will be merged soon.
- Bugs & Features
- PYSIDE-1994: De-virtualization of Shiboken embedded Python files is now an option controlled dynamically by SBK_EMBED
- PYSIDE-1019: A dormant __feature__ initialization timing problem was fixed while implementing de-virtualization
- PYSIDE-1735: De-coupling of old and new enums was started
- PYSIDE-1564: Debugging of multiple inheritance continues
- Fixed some bluetooth functions in PySide6.
- Low Energy Scanner Example
- PYSIDE-2194: Progressing with this. Definitely a thread issue which allow-thread doesn't seem to fix.
- Possible solution for problems with PySide6 inside conda (compat package with qt6.conf file), but investigating if best solution
- PYSIDE-1994: De-virtualization of Shiboken embedded Python files is now an option controlled dynamically by SBK_EMBED
12. January 2023
- General
- Next week is Hackathon, meeting will be shorter
- Discussion on how to gather information, and sharing material around Qt for Python
- Infra & Releases
- 6.5 RC planning -> feature freeze for PySide
- 6.4.2 was released last Monday
- CMake Jumbo builds issue with Windows signing
- LTS branches to land in pyside-setup soon
- Bugs & Features
- Async examples: addressing memory leak and cpu usage due to the event loop interactions
- Review conda packaging story and PySide6
- De-virtualization of Python files: still some issues
- Incompatibility with pywin32: __feature__ related when trying to check if the ext module uses PySide. Also related to an issue with the inspect module.
- Installing PySide6.support via CMake (was previously not considered)
- Work continues on the multiple inheritance issues related to classes based on QObject
- locate issues related to to* methods
- std::array support in shiboken (still in progress)
- fixing imports in matplotlib examples
- adaptation to 6.5
- splitting shiboken generator source to its own
- Android deployment works - tested on Widget applications
- Fixing QTBUG-109510 leading to discovering issues with certain functions in PySide6. Being fixed.
5. January 2023
- General
- Next monday CI maintenance
- OKRs
- Infra & Releases
- 5.15.12 LTS, 6.2.7 LTS released
- Open Source LTS releases to be moved to the pyside-setup
- 6.4 CI hanging, issues on lts-5.15 due to Python
- 6.4.2 to be release in the following days
- Bugs & Features
- PYSIDE-1931 SQL issue regarding allow-thread
- helping 6.5 translations
- Adaptations with 6.5
- QSharedPointer -> std::shared_ptr attempt
- research on adding std::span into shiboken
- PYSIDE-2160 properties qml types issues
- Tutorials language review
- Android research continues
- QTBUG-109510 BTLE issue on pyside