qtpip: a simple tool to get commercial Qt for Python packages
October 19, 2023 by Cristián Maureira-Fredes | Comments
If you have been following the 6.6 release blog posts, both the general Qt and Qt for Python ones, you might be aware of qtpip.
qtpip
is a simple tool that wraps pip to provide an easy way to obtain Qt for Python wheels for license holders.
The workflow
If you are a community user, there is no change for you. If you are a commercial user, you should first install and login into the Qt Installer once in order to generate the Qt configuration that our tool requires. Then you need to install qtpip
via pip install qtpip
. After this, you can use qtpip
instead of pip to install the commercial Qt for Python wheels.
Community workflow |
Commercial workflow |
$ |
$ $ |
Considering the current approach of getting the packages from account.qt.io, downloading the ones specific to your current OS, and then manually installing them in your virtual environment, qtpip
simplifies the tedious process.
Why not just pip?
The Python Package Installer (pip) is an excellent tool to install Python modules from different indexes. For example, when you run pip install PySide6, you are using the PyPI index by default, but you can change it and point to a different URL, in its configuration. But what if you need to enable a new index with login credentials?
Qt licenses are handled by different servers that can identify users and list the available licenses and types. A clear example is the Qt Installer that you might use frequently if you are a Qt license holder or if you like to get Qt installations without the need to build it from source.
By using the logic from the Qt Installer, we wrapped pip functionality around the same login information and provided a tool that can read your credentials in order to work.
Different licenses, different packages
Something we needed to consider is that, like Qt/C++, we also have special Python packages, tools, and types of releases depending on the Qt License.
Qt Application Development (AD) and Qt Device Creation (DC) are two types of Qt licenses that have their own variations. Read more here.
Our Community release includes PySide6 (Essentials + Addons) and Shiboken6 (Generator + Module) in our Community release.
The AD Professional license holders can access the same content as our Community packages. Additionally, it also includes access to the LTS releases and a tool included in the Shiboken package, the Shiboken Wizard.
The AD Enterprise, DC Professional, and DC Enterprise users have access to everything previously described, but also an additional package (PySide6_M2M
), that provides the modules Qt CoAP, Qt MQTT, and Qt OpcUA.
qtpip
will make the right selection depending on your license and provide the packages accordingly.
Future steps
This is the initial release of qtpip
and we need your help to make it better. Please post any issues as a bug report using the Qt pip component on the Qt Bug Tracker.
We are aware of the potential this might have for getting other packages, like snapshots from the different branches, RC packages, new packages including new functionality, technical preview components, etc., so we are also looking forward to hearing back from you in case you have a use case in mind that can improve qtpi
p
.
Blog Topics:
Comments
Subscribe to our newsletter
Subscribe Newsletter
Try Qt 6.8 Now!
Download the latest release here: www.qt.io/download.
Qt 6.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
We're Hiring
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.