Qt for Python Development Notes: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
 (→2023)  | 
				|||
| Line 1: | Line 1: | ||
[[Category:Qt for Python]]  | [[Category:Qt for Python]]  | ||
==2023==  | ==2023==  | ||
===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===  | ===9. March 2023===  | ||
Revision as of 09:19, 16 March 2023
2023
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