| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Considering we are not compatible with Python 2 anymore,
we can drop the 'object' explicit inheritance in the class
declaration.
Pick-to: 6.8
Change-Id: Iac3a95aa9721c3ff1a755f457c0936ca157a8470
Reviewed-by: Shyamnath Premnadh <[email protected]>
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Using Singleton for the class
- Adding type hints for the Path variables
- Use function for parsing modules instead of duplicating it
- Adapting related code in other files as well
- Remove historical prints when configuring.
Pick-to: 6.8
Change-Id: I9fef2e8d7c2033442f89a6f6ca027b5ae2ac6ab4
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In a couple of releases we had inconsistencies between the
wheel meta information from the build_scripts old scripts
and the create_wheels new script.
For old versions, we rely on tomli, but on new ones we use
the standard tomllib one.
Pick-to: 6.8
Change-Id: I114d8b0a240ad41cad8b57c27a0b3afadc928d94
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
| |
Task-number: PYSIDE-2751
Pick-to: 6.8
Change-Id: Iaf6e914bf798371faf5066f4a2d70fe3e2c124e5
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
| |
Add a future statement to all Python source files.
Task-number: PYSIDE-2786
Change-Id: Icd6688c7795a9e16fdcaa829686d57792df27690
Reviewed-by: Adrian Herrmann <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
- enable the tool for macOS
- add dependency .xml to the Android wheels
Pick-to: 6.7
Task-number: PYSIDE-2766
Change-Id: I77495466b8a9cc3565c640beac202d533ee1d2a6
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* opcodes have changed numbers. That made "import *" etc. fail.
* PUSH_NULL is sometimes inserted before a call.
* enum_test needed an overhaul due to opcode changes.
Python 3.13 works fine.
Supporting --disable-gil is a different issue.
Task-number: PYSIDE-2751
Change-Id: I37b447148787e2923a58c091a5c8ac808d579bc0
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
The changes related PYSIDE-939 can be removed when
3.9 support is dropped, because the problem was fixed
and included in 3.9.13 so we cannot assume everyone
will be on that version or superior.
Change-Id: I78afc660edc6fbb3bb1a2438e17366e63b24e375
Reviewed-by: Shyamnath Premnadh <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
|
|
|
|
|
|
|
| |
Change-Id: I0252c4e73e8c214ef8aa418ddf88bc452c0fdf53
Pick-to: 6.6
Task-number: PYSIDE-2230
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Builtin types no longer have tp_dict set. We need to
use PyType_GetDict, instead. This works without Limited API
at the moment.
With some great cheating, this works with Limited API, too.
We emulate PyType_GetDict by tp_dict if that is not 0.
Otherwise we create an empty dict.
Some small changes to Exception handling and longer
warm-up in leaking tests were found, too.
Pick-to: 6.6 6.5 6.2
Task-number: PYSIDE-2230
Change-Id: I8a56de6208ec00979255b39b5784dfc9b4b92def
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed mentions, comments, and fallback usages
in some sections of the build scripts and documentation.
On the CI, we upgrade setuptools in order to avoid having
missing functionality, so it shouldn't be an issue.
For Shiboken and CMake, there is still a helper that relies
on distutils in case people is using python < 3.8.2
Pick-to: 6.5
Change-Id: Ic33abe9fa8bd8564e9d44c8714b7fedd4e50434a
Reviewed-by: Simo Fält <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Preliminary support for PySide6 Android deployment
- Uses jinja2 to create PySide6 and shiboken6 recipes, to be used
by buildozer when python_for_android builds the app distribution
- Classes for Buildozer config interaction
- Run deployment to android. Typical command looks like:
"""
pyside6-android-deploy
--wheel-pyside=./PySide6-6.5.0a1-6.5.0-cp37-abi3-android_x86_64.whl
--wheel-shiboken=./shiboken6-6.5.0a1-6.5.0-cp37-abi3-android_x86_64.whl
--name=stringlistmodel
"""
- New entrypoint for pyside6-android-deploy
- Helper functinos for Android Deployment
- Remove unused function main_py_exists()
- Added the new files to deploy.pyproject
- Remove dry_run argument from install_python_dependencies()
- new Python packages added in requirements.txt to enable the
deploy and cross compile tool
Note: python-for-android uses my local fork. This will be changed
once it is merged into python-for-android dev.
Task-number: PYSIDE-1612
Pick-to: 6.5
Change-Id: I7eb96fa5507a476b4e86ec0195a5e9869f0f85fd
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 'qtpaths' needs to be known while setting up the corresponding
setup.py command to ignore the pyside qt wrapper tools whose qt tool
does not exist
- This is an extension to 43109854a2966afe2e0cf29961157a6f54d5775c.
The aforementioned patch led to qtpaths being found 2 times, once
inside CommandMixin class and also much before that inside
SetupRunner.run_setup(). This redundancy is now removed by moving
the finding of OPTION['QTPATHS'] outside the mixin and before
CommandMixin object of the command being run is initialized
- the help commands, build_rst_docs and cross compilation command
should not complain about qtpaths anymore
- fixed cross compilation build
Task-number: PYSIDE-2195
Change-Id: I862baf954dea0a3bdaf5ddf411f119178b457c42
Reviewed-by: Friedemann Kleint <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed the "quiet" and "verbose" older approach,
and introduced a 3-level configuration so we can switch
between them depending of the amount of output we need.
By default, the log level is set to INFO,
but it can be changed to VERBOSE and QUIET.
The older "--verbose-build" and "--quiet" options were deprecated.
The new way for setting the log level is:
--log-level=quiet
--log-level=verbose
--log-level=info (default)
The default option was made less verbose, controlling the output
of the logging module, and cmake:
for verbose it uses DEBUG, quiet uses ERROR, and no option uses INFO.
Change-Id: Ida0289e3ea0ed09b7489a7513254137bba186fd0
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Many leftovers from the pathlib migration patches.
Pick-to: 6.4
Change-Id: I7126fadbe45dbb387bc8948ba777cb690f10a758
Reviewed-by: Shyamnath Premnadh <[email protected]>
Reviewed-by: Adrian Herrmann <[email protected]>
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- PySide tools which are wrappers around Qt tools are now only installed
if the corresponding Qt tool exists.
- PySide6 entry points for the Qt tool are now only created if the Qt
tool exists in the corresponding Qt installation.
- Incase the console entrypoint still exists and the corresponding Qt
tool does not exist, the tool would exit stating that the Qt tool does
not exist.
eg: 'pyside6-uic' is run and 'uic' does not exist. The the tool
outputs that the 'uic' does not exist.
Ideally as per this change, PySide6 entrypoints for missing Qt tools
should not exist at all.
- versions.py deleted and contents moved to __init__.py.
- Adds warning from Python incase if the tool does not exist. This
is in addition to the CMake warning.
Fixes: PYSIDE-2097
Pick-to: 6.4 6.2
Change-Id: I3f1b26d103679f7425d9ad85dfed8d9ad17f6fbf
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
- qmlimportscanner tool helps the deployment tools to identify all
the imported QML modules in the QML files associated with the
project
Pick-to: 6.4
Change-Id: Id708e9de618d2cf277f67973f5474d05aa2a0c41
Reviewed-by: Christian Tismer <[email protected]>
Reviewed-by: Adrian Herrmann <[email protected]>
|
|
|
|
|
|
|
|
|
| |
There is a usage of os.path.relpath that cannot be migrated
to pathlib, which remain the only usage of os.path
Task-number: PYSIDE-2080
Change-Id: Iac781e9c9324fb8b9d3559b4225912d56782072a
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
These leftover mentions to <3.11 made those wheel
impossible to install for Python 3.11
Pick-to: 6.4
Fixes: PYSIDE-2086
Change-Id: I2a0e3f87c265e3ddc97e1036ea0137a12e895794
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|
|
|
|
|
|
|
|
| |
PySide 6.4.0 is the first release that only supports Python 3.7+
Task-number: PYSIDE-2085
Change-Id: I92016cc438a9272eba3f0d379bb0c4b87bee52f5
Pick-to: 6.4
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Adding simple logger based on the logging module
to replace the distutils.log one.
Task-number: PYSIDE-2079
Change-Id: I2a4996a57be701552005b57d2b1a251b9fc44c41
Reviewed-by: Christian Tismer <[email protected]>
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- One step solution to deploy PySide6 applications using nuitka without
worrying about the plethora of cli options provided by nuitka, at the
same time retaining the option to specify advanced nuitka options.
- Target: Windows, Linux, Mac
- All options are specified through a config file. This makes it easier
for expansion to android deployment
- Tested for projects with QML files, ui files and rc files
Task-number: PYSIDE-1612
Change-Id: Iefbdb55fa1c999295fac2a86b1f6d9b9ec45a0b1
Reviewed-by: Adrian Herrmann <[email protected]>
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][pyside6] pyside6-qtpy2cpp.py, a Qt-specific, simple tool
for converting Python code to C++ has been added.
Fixes: PYSIDE-1945
Change-Id: I77659ec6b49c0d3f657b4d19e5866f3057561771
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
|
| |
- added qml language server
Task-number: PYSIDE-2004
Change-Id: I79c44588c7db42c87914162a5babd4e390ff9a88
Reviewed-by: Friedemann Kleint <[email protected]>
Reviewed-by: Adrian Herrmann <[email protected]>
|
|
|
|
|
|
|
|
| |
- adds qmlformat
Task-number: PYSIDE-2004
Change-Id: I6b5fb160d3f832317b41504184dd27586279c802
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a silent change in PyEnums that turns Enum attributes
into properties. This does not harm the Python interface but
needed some change in the duplication emulation.
Furthermore, new internal enums are created with an underscore name.
The meta class was changed from EnumMeta to EnumType.
[ChangeLog][shiboken6] The new Python Enums are now compatible with Python 3.11
Change-Id: I3b1ab63dc5eed15a75ebd0f42dddf4001f640c00
Pick-to: 6.3
Task-number: PYSIDE-1735
Fixes: PYSIDE-1960
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.2 6.3
Change-Id: Ibd2a6088f6a2826be38a13037fe2db6656630b34
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- pyside6-qml is a tool that mimics the capabilities of qml utility and enables
quick prototyping for qml files. Most cli options of the qml tool are carried
forward to this tool.
example-usage:
pyside6-qml -a gui examples/declarative/editingmodel/main.qml
To see all the cli options available with this tool, do:
pyside6-qml --help
Task-number: PYSIDE-1878
Pick-to: 6.3
Change-Id: I98bd77ccf6a0a286bb54da264312e81bf2964dc7
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by a
SPDX-License-Identifier. Files that have to be modified by hand are
modified. License files are organized under LICENSES directory.
Task-number: QTBUG-67283
Change-Id: I065150015bdb84a3096b5b39c061cf0a20ab637d
Reviewed-by: Friedemann Kleint <[email protected]>
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|
|
|
|
|
|
|
| |
Amends ce847a38201eaf99d90af71522c4b492f4c78e26.
Pick-to: 6.3
Change-Id: Id3a401315c997172d5a3e45b3b553b5656618251
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.3
Change-Id: Ie56b054ca32869a488356b31eea49cc985fc463e
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a tool to build Qt Designer forms, resource files and QML type files
in a .pyproject.
[ChangeLog][PySide6] pyside6-project, a tool for building projects and
running QML checks, has been added.
Task-number: PYSIDE-1709
Change-Id: I101ef04cb07c00a1ac75d18d81a2856305253109
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
setup.py can now be used to cross-compile PySide to a target Linux
distribution from a Linux host.
For example you could cross-compile PySide targeting an arm64
Raspberry Pi4 sysroot on an Ubuntu x86_64 host machine.
Cross-compiling PySide has a few requirements:
- a sysroot to cross-compile against, with a pre-installed Qt,
Python interpreter, library and development packages (which
provides C++ headers)
- a host Qt installation of the same version that is in the target
sysroot
- a host Python installation, preferably of the same version as the
target one (to run setup.py)
- a working cross-compiling toolchain (cross-compiler, linker, etc)
- a custom written CMake toolchain file
- CMake version 3.17+
- Qt version 6.3+
The CMake toolchain file is required to set up all the relevant
cross-compilation information: where the sysroot is, where the
toolchain is, the compiler name, compiler flags, etc.
Once are requirements are met, to cross-compile one has to specify a
few additional options when calling setup.py: the path to the cmake
toolchain file, the path to the host Qt installation
and the target python platform name.
An example setup.py invocation to build a wheel for an armv7 machine
might look like the following:
python setup.py bdist_wheel --parallel=8 --ignore-git --reuse-build
--cmake-toolchain-file=$PWD/rpi/toolchain_armv7.cmake
--qt-host-path=/opt/Qt/6.3.0/gcc_64
--plat-name=linux_armv7l
--limited-api=yes
--standalone
Sample platform names that can be used are: linux_armv7, linux_aarch64.
If the auto-detection code fails to find the target Python or Qt
installation, one can specify their location by providing the
--python-target-path=<path>
and
--qt-target-path=<path>
options to setup.py.
If the automatic build of the host shiboken code generator fails,
one can specify the path to a custom built host shiboken via the
--shiboken-host-path option.
Documentation about the build process and a sample CMake
toolchain file will be added in a separate change.
Implementation details.
Internally, setup.py will build a host shiboken executable using
the provided host Qt path, and then use it for the cross-build.
This is achieved via an extra setup.py sub-invocation with some
heuristics on which options should be passed to the sub-invocation.
The host shiboken is not included in the target wheels.
Introspection of where the host / target Qt and Python are located
is done via CMake compile tests, because we can't query information
from a qmake that is built for a different architecture / platform.
When limited API is enabled, we modify the wheel name to contain the
manylinux2014 tag, despite the wheel not fully qualifying for that
tag.
When copying the Qt libraries / plugins from the target sysroot in a
standalone build, we need to adjust all their rpaths to match the
destination directory layout of the wheel.
Fixes: PYSIDE-802
Task-number: PYSIDE-1033
Change-Id: I6e8c51ef5127d85949de650396d615ca95194db0
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
Reviewed-by: Friedemann Kleint <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Add a tool to print out the metatype information in JSON to be used
as input for qmltyperegistrar.
Task-number: PYSIDE-1709
Change-Id: Ie57feeeecc09b1a01aadcc08f7e529a16609b3a4
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Add entry points for the tools from libexec or bin, respectively.
[ChangeLog][PySide6] The tools pyside6-qmltyperegistrar
and pyside6-qmllint have been added.
Task-number: PYSIDE-1709
Change-Id: If578255cc2a0fda4171b1ed54f3a2e612e849964
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
This is motivated by the deprecation of distutils,
and removal in future versions
https://github.com/pypa/packaging-problems/issues/127
Pick-to: 6.2
Change-Id: I16448b69f98df6dc1d9a904b69eb69ed5f1093f5
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Pick-to: 6.2.0
Change-Id: I97b323d5055c30f782f62b85e734eb9f0e33f7b3
Reviewed-by: Simo Fält <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the major problems are solved in
py3.10-prep: re-implement zip import
py3.10-prep: reset the type cache after feature switching
py3.10-prep: Fix parser.py for changed typing module
, there are only some minor changes left to do. One thing
is still not clear:
* Unsolved: In time_test.py, the last two tests work but
crash at shutdown.
It is not yet clear if this is a PySide or Python error.
This will crash Python 3.10 if not solved until the release.
[ChangeLog][PySide6] Support Python 3.10. This is by 99% solved.
Looking for a crash with unknown origin.
Fixes: PYSIDE-1436
Change-Id: I94cffa7ed16a2651e09924fe5babc188b1b4c2b8
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add lupdate, lrelease, linguist.
Rewrite sources/pyside-tools/CMakeLists.txt to use lists
in case further tools need to be added.
[ChangeLog][PySide6] pyside6-lupdate and the related tools
from Qt Linguist have been re-added, enabling using the Qt
translation system.
Fixes: PYSIDE-1252
Change-Id: Ia528623f2b4fc3882a18347ed862ed910501d466
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][PySide6] Assistant is now shipped along with PySide.
Fixes: PYSIDE-1378
Change-Id: Ie08778964f47378acf4e570b9a6dc3690257e411
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the new tool has been created, we can now produce
a Shiboken.pyi file automatically and make the PySide pyi
files more complete.
The Shiboken internal objects are now published, and we
no longer need a fake Shiboken.Object .
We can continue here a bit, maybe in another commit.
Pick-to: 6.1
Task-number: PYSIDE-1415
Change-Id: I9ba9336dbffa200ac519968519ee9381dd5cad84
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: I165e9a39f968f67f9eae3a632739908d5f8fda59
Reviewed-by: Friedemann Kleint <[email protected]>
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
|
|
|
| |
Adapt CMake files, build scripts, tests and examples.
Task-number: PYSIDE-904
Change-Id: I845f7b006e9ad274fed5444ec4c1f9dbe176ff88
Reviewed-by: Christian Tismer <[email protected]>
|
|
|
|
|
| |
Change-Id: Iac73fcf6e60f882968463d1c612f5ca5dc206222
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|
|
|
|
|
|
|
| |
Adapt CMake files, build scripts, tests and examples.
Task-number: PYSIDE-904
Change-Id: I4cb5ee4c8df539546014b08202a7b1e98ed3ff07
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|
|
|
|
|
|
|
|
| |
* Removing all the special cases for Python 2.7
* Removing Python >=3 conditions
* Keeping Python 3.6+ as the allowed Python
Change-Id: Ie48cafe952ae7a11bea997da2a35e7df5fea9a44
Reviewed-by: Friedemann Kleint <[email protected]>
|
|\
| |
| |
| | |
Change-Id: I30aaad19852c50b1222222ba66171f9c98ecb7c8
|
| |
| |
| |
| |
| |
| |
| | |
Fix spaces around operators, missing lines, import order.
Change-Id: I05ecafec849578fed6018654fcefaa008b6801e8
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bring back wrapper and tools from the sub-repo which
was removed by 9c9b506f3b2cc64da6fbbef9f58ccec7ccfe4457.
Task-number: PYSIDE-1339
Task-number: PYSIDE-904
Change-Id: Ib4f83721e4b56174109629dce64da56b9a71ffa5
Reviewed-by: Christian Tismer <[email protected]>
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
|
|\|
| |
| |
| | |
Change-Id: Icf4b3535be52b64ef15eced7103bb1280e031e30
|