Skip to main content

Safe QT, a QT wrapper for automatic selection of python QT libs (PyQt, PySide)

Project description

SQTUI

Safe QT User Interface.

This is a little library I've developed in order to wrap arount Qt for python libraries. This librarty enables the user to seemlessly develop Qt applications with PyQt5 or PySide or in future versions other libraries without the need to change the coding.

Motivation

PyQt5 is one of the best libraries I've worked with, it is opensource and enables fast and easy to use graphical interface developement.

The problem with PyQt is its licence. The licence of PyQt is GPL 3.0 which is a contaminating licence. This translates to a contamination of your own code with the GPL licence obliging you to apply all GPL details on your code, includig full access to your software code.

While this is a good thing in some sense, sometimes, you want to keep your application licence separate from the libraries licence. For example, I do like the MIT licence and use it in all my opensource code because it is opensource but gives the liberty to reuse my code without imposing any restrictions on the apps that may use my library.

Other liraries such as PySide, have a little different syntax for example to load UI files or to to declare the signals. In the other hand PySide2 is under L-GPL licence, which is not as contaminating as the GPL, but still sonstrains the fact that you must give your user the possibility to change the library and even use another one.

SQT is the answer to all this. First, it has a unified coding style independently from the library behind. It enables you to code in a consistant way, and automatically select the library you want to use. This has multiple advantages:

  • First, you get to choose if you want to have the GPL licence or no
  • You are complient with the L-GPL requirements if you opt with using PySide
  • You can compile your code using pyinstaller and hide some portions that may be protected with patents or simply you want to keep secret while respecting the licences requirements
  • You can easily switch the library whenever you want.
  • You code the same way. You just need to install the backbone library of your choice and everything is done automatically

I hope that this library help others who loves using python but want to have more freedom on their licence.

Licence

This library is distributed under MIT licence since we do not distribute the backend libraries with it. If you opt in using pyqt then your app is GPL and everything gets contaminated. If you opt to use PySide, you get to keep your licence and you'll notice no difference as SQT does the translation between the two libraries seemlessly.

Use

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqtui-0.0.1.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

sqtui-0.0.1-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file sqtui-0.0.1.tar.gz.

File metadata

  • Download URL: sqtui-0.0.1.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

File hashes

Hashes for sqtui-0.0.1.tar.gz
Algorithm Hash digest
SHA256 ad2ad40310f1a40135a8bb91412f706c1d242ea728eab01e4b7d3cf04357bcee
MD5 b184b6d4dfef6910b6d35ff22768b361
BLAKE2b-256 e6c1e715667fb4ac6e99b9c8bc3588a31275fe493c9e7b226b66b551ba587202

See more details on using hashes here.

File details

Details for the file sqtui-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: sqtui-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.7

File hashes

Hashes for sqtui-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 299e764dc7b199b578720a14596f14ccbe00240dffc14c1b259e7e5b45282f67
MD5 32a1984cc626d235701316eadb458f25
BLAKE2b-256 e23ef784205ca0b4ecd696a1ede1b74ddf344c53c8db0c58577f3042dcda54f6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page